为浏览器捆绑node_modules并保持“app.js”不变

时间:2017-03-04 12:58:39

标签: npm browserify node-modules

使用npm节点模块greetings的js文件,我在浏览器中使用我的app.js和browserify:

enter image description here

我的index.html如下所示:

enter image description here

我知道文件app.js的源代码现已嵌入文件bundle.js中。

我现在要求我的生产代码包含app.js以及包含这样的节点模块的附加库:

enter image description here

这意味着客户端获取app.js文件和bundle.js文件,我现在可以使用app.js中的节点模块,如下所示:

enter image description here

基本上我只想要一个bundle.js用作我app.js的库,并且包含节点模块,我可以将它们包含在浏览器端JavaScript中。

我也厌倦了使用客户端文件和模块加载器。 require.js加载node_modules但根据this thread它不起作用。

1 个答案:

答案 0 :(得分:1)

您需要使用browserify' -r& -x个选项:https://github.com/substack/node-browserify#multiple-bundles

要编译代码,请运行:

browserify app.js -r ./greetings -o dist/bundle.js
browserify app.js -x ./greetings -o dist/app.js

dist/bundle.js将包含greetings模块,dist/app.js将包含您的代码。