小编Pei*_* Li的帖子

如何使用rollupjs动态导入由参数定义名称的模块?

src/dynamicImport.js

\n\n
\nexport default function dynamicImport(path) {\n    const parts = path.split(\'/\');\n    // \xe5\x8e\xbb\xe6\x8e\x89\xe5\x90\x8e\xe7\xbc\x80.js\n    const namespace = parts.pop().replace(/\\.\\w+$/, \'\');\n    let mid = \'\';\n\n    if (parts.length) {\n        mid = `${parts.join(\'/\')}/`;\n    }\n\n    return new Promise((resolve, reject) => {\n        console.log(mid, namespace)\n        import(\n            `@src/${mid}` + namespace + \'.js\'\n        )\n            .then(module => {\n                resolve(module);\n            })\n            .catch(err => {\n                reject(err);\n            });\n    });\n}\n\n
Run Code Online (Sandbox Code Playgroud)\n\n

src/index.js

\n\n
dynamicImport(\'lib/test\').then(({ default: test}) => {\n    test();\n})\n\n
Run Code Online (Sandbox Code Playgroud)\n\n

src/lib/test.js

\n\n
export default function test() {}\n\n
Run Code Online (Sandbox Code Playgroud)\n\n

rollup.config.js

\n\n
const rollup = require(\'rollup\');\nconst babel …
Run Code Online (Sandbox Code Playgroud)

rollup dynamic-import webpack rollupjs

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

dynamic-import ×1

rollup ×1

rollupjs ×1

webpack ×1