跳到主要內容

@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"
],
});

參考資料