Jus*_*son 2 javascript node.js browserify
我有一个非常简单的模块,我正在与Browserify捆绑在一起.我想在浏览器和节点中使用该捆绑包.在节点中,如果我require是非捆绑模块,它可以正常工作; 但是,如果我require是浏览器化的bundle,则require返回一个空对象.这是一个复制品:
简单的模块
function Foo(bar) {
this.bar = bar;
}
module.exports = Foo;
Run Code Online (Sandbox Code Playgroud)
测试脚本
var Foo = require("./foo"); // not bundled with Browserify
var Foob = require("./foob"); // bundled with Browserify
console.log("Foo =", Foo);
console.log("Foob =", Foob);
Run Code Online (Sandbox Code Playgroud)
这样执行
browserify foo.js -o foob.js
node foo-test.js
Run Code Online (Sandbox Code Playgroud)
产量
Foo = function Foo(bar) {
this.bar = bar;
}
Foob = {}
Run Code Online (Sandbox Code Playgroud)
您可以看到Foo(非捆绑版本)是预期的功能,但Foob(捆绑版本)是一个悲伤和空的对象.
所以问题是为什么浏览器模块不在节点中工作?
澄清: 我正在使用browserify捆绑我的webapp并使用其路径选项来简化应用程序的require语句中的路径并避免相对路径地狱.但是,我正在尝试使用tap进行单元测试,但它似乎没有类似的配置功能.因此,尝试在使用tap时需要非捆绑文件会导致所有内容中断.
| 归档时间: |
|
| 查看次数: |
1581 次 |
| 最近记录: |