import.meta.url 的相对路径
Relative path with import.meta.url
使用 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)
);
使用 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)
);