跳至主要内容

@babel/plugin-proposal-dynamic-import

信息

此插件包含在 @babel/preset-env 中,位于 ES2020

import() 表达式转换为非 ESM 模块格式。

何时(不)使用此插件

如果您正在使用打包器,例如 Webpack、Rollup 或 Parcel,则应使用此插件,而应让打包器处理 import() 表达式。

您应该在以下情况下使用此插件

此插件必须与上面提到的模块转换插件之一一起使用。

示例

input.js
import("jquery").then($ => {});

将被转换为

output.js
Promise.resolve()
.then(() => _interopRequireWildcard(require("jquery")))
.then(($) => {});

安装

npm install --save-dev @babel/plugin-proposal-dynamic-import

用法

babel.config.json
{
"plugins": [
"@babel/plugin-proposal-dynamic-import",
"@babel/plugin-transform-modules-commonjs"
]
}

通过 CLI

Shell
babel --plugins=@babel/plugin-proposal-dynamic-import,@babel/plugin-transform-modules-amd script.js

通过 Node API

JavaScript
require("@babel/core").transformSync("code", {
plugins: [
"@babel/plugin-proposal-dynamic-import",
"@babel/plugin-transform-modules-systemjs"
],
});

参考