[英]reactjs dynamic import with constant path variable
我在使用 reactjs 动态导入时遇到了一个奇怪的问题。 假设我有一个名为ComponentA
,它的路径类似于myComponents/ComponentA
。 现在,当我像下面的代码一样动态导入它时,它会运行良好:
Promise.all(
[
import('myComponents/ComponentA'),
// other imports
]
).then(....);
但是,如果我在一个常量变量中定义我的组件路径,如下所示:
//before definition of my current component
const PATH = 'myComponents/ComponentA';
.
.
.
// some where in my component class
Promise.all(
[
import(PATH),
// other imports
]
).then(....);
它会给我一个这样的错误:
错误:找不到模块“myComponents/ComponentA”。
有时,如果我只是在我的PATH
变量中添加一个空字符串就可以解决问题,而有时则不能。
//before definition of my current component
const PATH = 'myComponents/ComponentA';
.
.
.
// some where in my component class
Promise.all(
[
import(''+PATH), // some times by adding empty string, problem would be solved
// other imports
]
).then(....);
任何关于正在发生的事情的想法将不胜感激。
也许试试这个新的 ES6 语法:
const PATH = 'myComponents/ComponentA';
Promise.all(
[
import(`${PATH}`), // try pass it like this
// other imports
]
).then(....);
您至少必须有一个初始文字文件夹字符串(无变量)来限制可以加载的模块,因为它将捆绑所有可能的文件。
这是 webpack 的一个限制。 详情见https://webpack.js.org/api/module-methods/#dynamic-expressions-in-import
这确实是不承认的,可惜const
比文字等。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.