我的问题是如何实现在另一个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处理,但是我真的不知道。
答案 0 :(得分:0)
我了解两种方法都失败了:
我认为import
仅适用于export
,而不适用于modules.exports
。我还阅读到browserify无法使用import/export
语法,这仍然太新了。
更有趣的是:一个浏览器化的文件包含大量require(...)
调用,这是由browserify创建的函数,而不是CommonJS require
关键字。当然browserify不知道区别,并因此寻找吨模块第二次导入。所有需要做的就是将“ require”一词重命名为其他名称,并且browserify可以再次应用...
但是我的回答并不完全令人满意:必须有适当的方法来完成此操作...