如何在browserfy编程api中忽略库



假设在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。

最新更新