在使用 ESM 时,很多建议使用 import.meta.url
加载 json 文件,如下所示
import fs from 'fs';
const result = fs.readFileSync(
new URL("abc.json", import.meta.url)
);
现在以上工作正常,但假设 abc.json
与脚本位置位于同一目录中。我想知道诸如 abc.json
之类的脚本的相对路径位于目录的上一级。我在下面尝试过,但它不起作用
import fs from "fs";
import path from "path";
const result = fs.readFileSync(
new URL("abc.json", path.resolve(import.meta.url, "../"))
);
最佳答案
而不是将 path.resolve
应用于 import.meta.url
,您应该将相对路径指定为第一个参数,如下所示
const result = fs.readFileSync(
new URL("../abc.json", import.meta.url)
);
关于javascript - import.meta.url 的相对路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69355617/