node.js - 如何忽略browserify编程api中的库

标签 node.js backbone.js browserify

假设在 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 源的流。基于 browserify 的 command line options我希望它完全跳过主干。阅读源代码,我预计以下可能会起作用:

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

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

在这个api的应用中是否可以使用--noparse=FILE作为配置选项?

最佳答案

如您所见 from here命令行上提供的 --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();

关于node.js - 如何忽略browserify编程api中的库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18169240/

相关文章:

javascript - .fetch() 集合backbone.js 不起作用

javascript - 无法使用 npm 在 macOS 上安装 vue

node.js - 如何使用 Express/Socket.io 在 Node.js 上使用 HTTPS

javascript - backbonejs View 的initialize()和render()的正确用法是什么?

javascript - Coffeescript + Browserify + Gulp + Uglify

node.js - 命令行中的 Node-sass includePaths?

gulp - 如何获取 gulp+babel+browserify+uglify 的源映射

javascript - Nodejs/javascript如何创建基于区域的模块化前端

node.js - npm 私有(private)模块找不到模块

backbone.js - 在钛合金中使用 where 条件发布 feature