21

假设在 中找到以下代码bundler.js并且跟踪entry.js导致var B = require('backbone');(Backbone 是安装的依赖项,如 中声明的那样package.json)。

var browserify = require('browserify');
var bundle = new browserify();
bundle.add('entry.js');
bundle.bundle({
  noParse: ['backbone']
});

执行这个捆绑器会产生一个包含原始backbone源的流。基于 browserify 的命令行选项,我希望它完全跳过主干。阅读源代码,我预计以下内容可能会起作用:

var browserify = require('browserify');
var bundle = new browserify({
    noParse: ['backbone']
});
bundle.add('entry.js');
bundle.bundle();

虽然backbone源仍然出现在流输出中。

是否可以--noparse=FILE在此 api 应用程序中用作配置选项?

4

2 回答 2

11

从这里可以看出,命令行上提供的--noparse选项被传递给browserify({ })调用。

因此,为了告诉 browserify 不解析 jquery 和 three.js,您必须将完整路径传递给您的 jquery 和 three.js 文件。

例子:

browserify({
  noParse: [
   require.resolve('./vendor/jquery'),
   require.resolve('./vendor/three')
  ]
})
.require(require.resolve('./entry.js'), { entry: true })
.bundle();
于 2013-08-31T00:54:41.137 回答
9
var browserify = require("browserify")

browserify({entries: ['./src/client/app.js']})
.ignore('jquery')

那会让browserify忽略jquery,然后jquery可以直接添加到index.html上。

于 2014-05-20T19:34:01.140 回答