如何忽略browserify programmatic api中的库
假设在bundler.js
find以下代码,并且跟踪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
源的stream。 基于browserify的命令行选项,我预计它会跳过所有主干。 通过阅读来源,我预计可能会有以下工作:
var browserify = require('browserify'); var bundle = new browserify({ noParse: ['backbone'] }); bundle.add('entry.js'); bundle.bundle();
虽然backbone
资源仍然出现在stream输出。
是否有可能使用--noparse=FILE
作为api的这个应用程序中的configuration选项?
var browserify = require("browserify") browserify({entries: ['./src/client/app.js']}) .ignore('jquery')
这将使browserify忽略jquery,然后jquery可以直接添加到index.html。
从这里可以看到,命令行上提供的--noparse
选项会传递给browserify({ })
调用。
所以为了告诉browserify不要parsingjquery和three.js,你必须把完整的path传给你的jquery和three.js文件。
例:
browserify({ noParse: [ require.resolve('./vendor/jquery'), require.resolve('./vendor/three') ] }) .require(require.resolve('./entry.js'), { entry: true }) .bundle();