如何导入带有browserify的独立模块构建?

时间:2018-10-14 17:26:00

标签: javascript browserify

我的问题是如何实现在另一个JavaScript文件中导入通过browserify获得的独立模块。以下是一些具体细节:

我用browserify这样创建了一个独立的模块:

browserify module.js --s module_name > output.js

module.js文件的末尾包含

module.exports = module_name;

在文件“ use_module.js”中,我现在可以使用模块module_name,并将此代码保存在某些html文件中:

<sctipt src="output.js">
<sctipt src="use_module.js">

但是我想在我的html文件中仅指定脚本“ use_module.js”,并以某种方式直接在javascript代码中将“ output.js”导入“ use_module.js”中。我尝试了两种不同的方法:

  • 我在use_module.js中尝试了JavaScript import module_name from './output.js',但随后找不到模块module_name。无论如何,我不确定module.exports是否与export相同,无论哪种浏览器功能都与我的module.exports无关。 (我对此感到非常困惑。)

  • 我尝试使用require(./output.js),然后重新使用browserify,但是关于大量缺少的模块,然后我在Browserify中遇到了很多奇怪的错误。也许我应该在“ output.js”旁边的文件中指定一些模块信息,该文件可以由browserify处理,但是我真的不知道。

1 个答案:

答案 0 :(得分:0)

我了解两种方法都失败了:

  • 我认为import仅适用于export,而不适用于modules.exports。我还阅读到browserify无法使用import/export语法,这仍然太新了。

  • 更有趣的是:一个浏览器化的文件包含大量require(...)调用,这是由browserify创建的函数,而不是CommonJS require关键字。当然browserify不知道区别,并因此寻找吨模块第二次导入。所有需要做的就是将“ require”一词重命名为其他名称,并且browserify可以再次应用...

但是我的回答并不完全令人满意:必须有适当的方法来完成此操作...