避免使用Browserify捆绑特定模块

时间:2016-03-22 07:18:21

标签: javascript node.js browserify

我有一个这样的依赖树:

index.js
      \__ A
      \__ B
          \__ C
          |   \__ D
           \__ E

我想捆绑index.js并且工作正常:browserify --node index.js -o bundle.js

问题是当其中一个依赖项具有依赖项时。我们假设D具有本机依赖(C ++代码)。

我想使用npm install D手动安装它,并使bundle.js真正需要它来自磁盘,而不是来自bundle.js代码。

如何从捆绑包中排除D模块,并使捆绑包从node_modules中提出要求?

我尝试使用--ignore D,但在需要时会返回一个空对象。

我如何require来自node_modules目录的真实模块(类似于节点require的方式?

1 个答案:

答案 0 :(得分:1)

--exclude选项与--node一起使用:

browserify --node -s GlobalVariable your-script.js -o bundle.js --exclude some-dependency

这将创建bundle.js文件,如果没有CommonJS环境,将定义GlobalVariable变量。

如果您想在Node中运行捆绑包,而不是在浏览器中,

--node是一个方便的选项。

--exclude选项将从输出包中排除some-dependency模块。

查看Browserify Usage部分。