直接在node.js中使用browserify输出包

Fli*_*ion 6 node.js browserify

好的,所以为node.js编写的模块可以与browserify一起组合成bundle.

但是,万一我只有一堆由browserify而不是源创建的,是否仍然可以在浏览器之外的node.js环境中"要求"或以其他方式使用这些包及其内容?(授予代码不做任何浏览器特定的事情)

tho*_*ows 1

好的,为 Node.js 编写的模块可以通过 browserify 合并到捆绑包中。

首先,我不确定你的意思,因为 browserify 的创建是为了做相反的事情。Browserify 的目的是允许在浏览器中使用节点的 require() 语句。

但以防万一我只有一堆由 browserify 创建的包而不是源代码,是否仍然可以在浏览器之外的 Node.js 环境中“要求”或以其他方式使用这些包及其内容?(假设该代码不执行任何特定于浏览器的操作)

简而言之,只要模块不使用全局窗口作用域,因为 window 在 node.js 中未定义。常见的帮助程序包(如 lodash、axios、moment、bluebird 和 q)承诺在 Node.js 中进行所有工作。

但一般来说,包经常被修改为在浏览器和 Node.js 中都可以工作。package.json 文件中有一个浏览器属性选项,允许您在发布 npm 模块时专门针对浏览器。通常,为浏览器设计的文件会被缩小为一个文件,因为文件可能会被导入到浏览器中。对于 Node 来说这不是必需的,并且 Node 项目中可能有很多文件。