如何“;删除“/"改变“;有些在使用browserfy时需要(..)调用

How to "remove"/"change" some require(...) calls when using browserify?

本文关键字:browserfy 调用 删除 quot 改变 如何      更新时间:2023-09-26

我有一个用node.js编写的应用程序,它需要一些npm模块(react、react router和其他模块)。当我在上面运行browserfy时,所有的npm模块都被"注入"到bundle.js文件中。我想要的是为bower提供分发,它不会在bundle.js文件中包含react和react路由器依赖项,因为它们可以在bower.json中作为依赖项引用。

app.js:

var React = require('react')
React.render(...)

在bundle.js中,react与app.js 一起被注入其中

我需要不包含react的bundle.js,并假设它在全局(窗口)范围内可用。

bundle.js:

React.render(...)

或者类似的东西:

var require = function(name){ return window[name] }
var React = require('react')
React.render(...)

因此,基本上我想告诉browserify,一些模块可以在window范围内找到,不必注入bundle.js…

使用-x [Module Name]从捆绑包中排除节点模块。

browserify -d -x react -x react-router app.js > bundle.js