У меня есть это дерево каталогов:
project
|
-> dir1
|
-> dir2
|
-> module.mjs
server.mjs
utils.mjs
Мой текущий рабочий каталог:
project/
Исходный код сервера.m js
async function main(){
var module = await import("./dir1/dir2/module.mjs");
}
main();
Исходный код module.m js
//this works!
import utils from "../../utils.mjs";
//this fails!
import utils from "./utils.mjs";
Кажется, что stati c import в module.m js считает точку '.' как сам каталог, а не текущий рабочий каталог.
Как установить текущий каталог для динамического c импорта? И фактический базовый вопрос: Как избежать длинного '../../.......' stati c импорта в динамическом c модуле.
Например, я sh хочу иметь что-то подобное на сервере. M js:
var module = await import("./dir1/dir2/module.mjs",{cwd:"project/"});
Или в модуле Dynami c, который может использовать:
import utils from './utils.mjs'
вместо:
import utils from '../../long dot dot/utils.mjs'