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