gpt4 book ai didi

javascript - ES6动态导入功能如何设置当前目录

转载 作者:太空宇宙 更新时间:2023-11-03 22:03:42 24 4
gpt4 key购买 nike

我有这个目录树:

project
|
-> dir1
|
-> dir2
|
-> module.mjs

server.mjs
utils.mjs

我当前的工作目录是:

 project/

server.mjs源代码

async function main(){
var module = await import("./dir1/dir2/module.mjs");
}

main();

module.mjs源代码

//this works!
import utils from "../../utils.mjs";

//this fails!
import utils from "./utils.mjs";

看来 module.mjs 中的静态导入考虑了点“.”作为其本身的目录,而不是当前工作目录。

如何设置动态导入的当前目录?
实际的基本问题是:如何避免长“../../.......” 动态模块中的静态导入。

例如,我希望在 server.mjs 中有这样的内容:

var module = await import("./dir1/dir2/module.mjs",{cwd:"project/"});

或者,在动态模块中,能够使用:

import utils from './utils.mjs'

而不是:

import utils from '../../long dot dot/utils.mjs'

最佳答案

尝试process.cwd(),它返回运行nodejs的目录。

关于javascript - ES6动态导入功能如何设置当前目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59960317/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com