Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用变量requires浏览nodejs文件?_Javascript_Node.js_Browserify - Fatal编程技术网

Javascript 如何使用变量requires浏览nodejs文件?

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未打

例如,当我有一个名为lib1.js的CommonJS模块时,当我在index.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一起工作,而不是修改代码以将所有这些要求转换为字符串文本?目前,我的项目需要使用一些包含这种“变量要求”的第三方库“我不太确定修改所有这些第三方库是否是一种安全/好的方法