我找不到通过变量动态要求NPM模块的方法。
这是我要尝试的示例代码,一切正常,希望能动态导入NPM模块。
const firstModule = 'my-npm-module';
const secondModule = './MyReactComponent';
// NPM Module
import(firstModule).then(...); // Doesn't work
import('my-npm-module').then(...); // Works
// Local React Component
import(secondModule).then(...); // Works
import('./MyReactComponent').then(...); // Works
答案 0 :(得分:1)
从Webpack docs开始动态导入:
完全动态的语句(例如import(foo))将失败,因为 webpack至少需要一些文件位置信息。这是 因为foo可能是系统中任何文件的任何路径 或项目。 import()必须至少包含有关以下内容的信息 模块所在的位置,因此绑定可以限制为特定的 目录或文件集。
您最好的选择可能是不对node_modules
中的任何内容使用动态加载,或者将显式路径添加到模块中,例如
import(`./node_modules/${firstModule}/index.js`);