【发布时间】:2015-06-21 14:59:55
【问题描述】:
我有一个用 node.js 编写的应用程序,它需要一些 npm 模块(react、react-router 和其他)。当我在其上运行 browserify 时,所有 npm 模块都被“注入”到 bundle.js 文件中。我想要的是为 bower 提供分发,它不会在 bundle.js 文件中包含 react 和 react-router 依赖项,因为它们可以在 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...
【问题讨论】:
-
不确定是否有办法直接使用 Browserify 配置,但包 browserify-shim 似乎可以处理您的用例。
-
嘿,我无法让它与 browserify-shim 一起工作,但是我发现这个模块 browserify-global-shim 只是替换了指定的模块需要 (
require('XXX')=>window.XXX) -
@user606521 多亏了你,我的问题在这里得到了解决,伙计!谢谢! stackoverflow.com/questions/34681058/…
标签: javascript node.js browserify