Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.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 有没有一种方法可以在不需要的情况下加载JS文件?_Javascript_Node.js - Fatal编程技术网

Javascript 有没有一种方法可以在不需要的情况下加载JS文件?

Javascript 有没有一种方法可以在不需要的情况下加载JS文件?,javascript,node.js,Javascript,Node.js,是否有一种无需加载javascript文件的方法,但以fs为例? 我知道对于json文件,我可以做到: const jsonFile = JSON.Parse(fs.readFileSync("./jsonfile.json") 有没有一种方法可以对javascript文件执行相同的操作 我问这个问题的原因是,我有一个配置文件,我有点想从我的应用程序中分离出来,因为当我把它与webpack捆绑在一起时,我不能排除配置文件 我尝试直接读取,但我在缓冲区中得到了一些原始格式:

是否有一种无需加载javascript文件的方法,但以fs为例? 我知道对于json文件,我可以做到:

const jsonFile = JSON.Parse(fs.readFileSync("./jsonfile.json")
有没有一种方法可以对javascript文件执行相同的操作

我问这个问题的原因是,我有一个配置文件,我有点想从我的应用程序中分离出来,因为当我把它与webpack捆绑在一起时,我不能排除配置文件

我尝试直接读取,但我在缓冲区中得到了一些原始格式:

const jsFile = fs.readFileSync("./jsFile.js")
编辑答案:我可以通过使用readFileSync和eval来完成:

const jsFile = eval(fs.readFileSync("./jsFile.js", "utf-8"));
const jsFile = eval(fs.readFileSync("./jsFile.js", "utf-8"));

请记住,如果您需要该文件中的其他文件,则路径会更改!它们将不是相对于
jsFile.js
,而是相对于读取
jsFile.js

文件,我可以通过使用readFileSync和eval来做到这一点:

const jsFile = eval(fs.readFileSync("./jsFile.js", "utf-8"));
const jsFile = eval(fs.readFileSync("./jsFile.js", "utf-8"));

请记住,如果您需要该文件中的其他文件,则路径会更改!它们将不是相对于
jsFile.js
,而是相对于读取
jsFile.js

文件,这在理论上是可能的,就像
eval
一样,很奇怪。最好找到另一种方法,可能是通过使用webpack。是的,这很奇怪,我无法找到另一种方法将文件从webpack捆绑中排除。请参见此处的第二个答案:这解决了问题吗?@CertainPerformance我已经尝试过,但似乎这种方法已被弃用。然而,我已经设法用eval(fs.readFileSync(“jsfile.js”,“utf-8”))实现了这一点。“我问这个问题的原因是,我有一个配置文件,我有点想从我的应用程序中分离出来,因为当我将它与webpack捆绑在一起时,我不能排除配置文件。”你能详细说明一下吗?