Javascript 为什么此代码显示找不到模块错误?
在localbase.js内部Javascript 为什么此代码显示找不到模块错误?,javascript,node.js,Javascript,Node.js,在localbase.js内部 const fs = require("fs"); if(!fs.existsSync(__dirname + "/localbase.json")) fs.writeFileSync("./localbase.json", "{}"); let database = require("./localbase.json"); 上述代码显示此错误错误:找不
const fs = require("fs");
if(!fs.existsSync(__dirname + "/localbase.json"))
fs.writeFileSync("./localbase.json", "{}");
let database = require("./localbase.json");
上述代码显示此错误错误:找不到模块'./localbase.json'
文件导入到server.js
中,如下所示
const lb = require('./db/localbase.js');
我的目录结构(如果我的树看起来不好,请道歉)
但是如果我把localbase.js放在server.js所在的位置,那就很好了。所以修复非常简单
const fs = require("fs");
if(!fs.existsSync(__dirname + "/localbase.json"))
fs.writeFileSync(__dirname + "/localbase.json", "{}");
let database = require(__dirname + "/localbase.json");
因此,基本上我所做的是导入了导致该错误的根目录(node_模块所在的位置)
我认为使用require('./localbase.json')
会选择相对于server.js的目录,但不会
所以我学到的是require()
使用相对于根目录的路径
这意味着我必须使用\uu dirname
导入子目录中的模块
所以解决方法非常简单
const fs = require("fs");
if(!fs.existsSync(__dirname + "/localbase.json"))
fs.writeFileSync(__dirname + "/localbase.json", "{}");
let database = require(__dirname + "/localbase.json");
因此,基本上我所做的是导入了导致该错误的根目录(node_模块所在的位置)
我认为使用require('./localbase.json')
会选择相对于server.js的目录,但不会
所以我学到的是require()
使用相对于根目录的路径
这意味着我必须使用\uu dirname
导入子目录中的模块