Javascript 如何使用browserify创建的捆绑文件?

Javascript 如何使用browserify创建的捆绑文件?,javascript,frontend,browserify,web-frontend,Javascript,Frontend,Browserify,Web Frontend,我制作了4个javascript文件,A、B、C、D,它们将导出4个模块A、B、C、D。它们的依赖关系是A->B->C->D。我在命令中键入 browserify A.js -o bundle.js 并创建包含a、B、C、D的捆绑文件。在html文件中,我得到了 <script src="bundle.js"></script> <script src="client.js"></script> 控制台将打印未定义的错误。 但是,如果我删除所有

我制作了4个javascript文件,A、B、C、D,它们将导出4个模块A、B、C、D。它们的依赖关系是A->B->C->D。我在命令中键入

browserify A.js -o bundle.js
并创建包含a、B、C、D的捆绑文件。在html文件中,我得到了

<script src="bundle.js"></script>
<script src="client.js"></script>
控制台将打印未定义的错误。 但是,如果我删除所有js文件上的'require'和module.exports并在html文件中执行此操作,client.js将起作用

<script src = "D.js"></script>
<script src = "C.js"></script>
<script src = "B.js"></script>
<script src = "A.js"></script>
<script src = "client.js"></script>

有人知道这个问题吗?

您必须创建一个捆绑包,将变量添加到全局执行上下文中,这是通过
--standalone
选项完成的

browserify A.js --standalone A -o bundle.js

除了Mauricio提出的独立选项外,还可以让browserify创建require函数,以便在浏览器中使用require函数

browserify -r ./A.js:a_module ./B.js ./C.js ./D.js -o bundle.js
然后,您的client.js文件可以执行以下操作:

var a_module = require('a_module');
var a = new a_module.A();
这是一个选择

var a_module = require('a_module');
var a = new a_module.A();