Browserify与另一个脚本交谈

时间:2014-08-12 11:00:51

标签: browserify

我想使用browserify,但我不想强迫库的用户这样做。换句话说,我希望生成的bundle.js定义同一页面上的其他脚本可以找到的东西。我尝试过但失败了:

browserify -o bundle.js src/if.js

其中:

::::::::::::::
index.html
::::::::::::::
<script src="bundle.js"></script>
<script>
function go() {
  document.getElementById("victim").innerHTML=C();
}
</script>
<body onLoad="go();">
<div id='victim'>Foo</div>
</body>

::::::::::::::
src/if.js
::::::::::::::
var C = require("./c");

::::::::::::::
src/c.js
::::::::::::::
var A = require("./a");
var B = require("./b");
module.exports = function () { return A() + B(); };

::::::::::::::
src/a.js
::::::::::::::
module.exports = function () { return 10; };

::::::::::::::
src/b.js
::::::::::::::
module.exports = function () { return 20; };

失败,出现“参考错误:C未定义。”

我不介意强迫HTML及其脚本的作者输入一些奇怪的东西,但我觉得没有权力强迫他在他的构建过程中包含browseriy。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

宾果! if.js应该阅读

global.C = require("./c");