Javascript 如何使用变量requires浏览nodejs文件?
例如,当我有一个名为lib1.js的CommonJS模块时,当我在index.js中需要它时,如下所示:Javascript 如何使用变量requires浏览nodejs文件?,javascript,node.js,browserify,Javascript,Node.js,Browserify,例如,当我有一个名为lib1.js的CommonJS模块时,当我在index.js中需要它时,如下所示: const lib1 = require("./lib1"); 我可以使用Browserify使其在浏览器中工作。但是,如果我做了如下操作: var libname = "./lib1"; const lib1 = require(libname); Browserify版本将失败,错误为“找不到模块”。/lib1.js'”,因为lib1.js未打
const lib1 = require("./lib1");
我可以使用Browserify使其在浏览器中工作。但是,如果我做了如下操作:
var libname = "./lib1";
const lib1 = require(libname);
Browserify版本将失败,错误为“找不到模块”。/lib1.js'
”,因为lib1.js未打包到捆绑包中,这是可以理解的,并记录在Browserify手册中
然而,我不明白的是,当我使用Browserify的-r
选项专门将lib1.js打包到包中时,类似于以下内容:
browserify ./index.js -r ./lib1.js -o bundle.js
我可以从Chrome的开发者工具中看到,lib1.js文件确实打包到了捆绑包中,并且位于index.js之外,但它仍然报告相同的“找不到模块”。/lib1.js'
错误。我想知道为什么index.js即使特别打包到捆绑包中,仍然找不到lib1.js
此外,我想知道是否有一些方法可以使这种“变量要求”与Browserify一起工作,而不是修改代码以将所有这些要求转换为字符串文本?目前,我的项目需要使用一些包含这种“变量要求”的第三方库“我不太确定修改所有这些第三方库是否是一种安全/好的方法