使用ES6语法和动态路径导入模块

这有效:

import app from './../app.js';

但这不是:

import app from path.join(process.cwd(), 'app');

我越来越:

SyntaxError: /path/file.js: Unexpected token (5:16)

> 5 | import app from path.join(process.cwd(), 'app');

| ^

是否可以(和/或如何)使用“动态”路径?(不对路径进行硬编码或依靠相对路径)。

回答:

不,这是不可能的。ES6模块需要能够静态解析其依赖关系,而无需执行模块代码,以便import语句能够可靠地工作。模块说明符必须是字符串文字。

但是,您选择的模块加载器应支持使用变量名动态加载模块。但是,您将无法app在模块范围中获得绑定标识符(并且无法重新导出它),通常只能在回调函数中使用它。

以上是 使用ES6语法和动态路径导入模块 的全部内容, 来源链接: utcz.com/qa/426544.html

回到顶部