假设在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']
});
执行这个bundler会产生一个包含原始backbone
源的流。根据browserfy的命令行选项,我预计它会一起跳过主干。通过阅读来源,我预计以下内容可能会起作用:
var browserify = require('browserify');
var bundle = new browserify({
noParse: ['backbone']
});
bundle.add('entry.js');
bundle.bundle();
尽管backbone
源仍然出现在流输出中。
在这个api应用程序中,是否可以使用--noparse=FILE
作为配置选项?
从这里可以看到,命令行上提供的--noparse
选项被传递给browserify({ })
调用。
因此,为了告诉browserfy不要解析jquery和three.js,您必须传递jquery和three.js文件的完整路径。
示例:
browserify({
noParse: [
require.resolve('./vendor/jquery'),
require.resolve('./vendor/three')
]
})
.require(require.resolve('./entry.js'), { entry: true })
.bundle();
var browserify = require("browserify")
browserify({entries: ['./src/client/app.js']})
.ignore('jquery')
这将使browserfy忽略jquery,然后可以直接在index.html上添加jquery。