@babel/plugin-syntax-dynamic-import
如果使用 @babel/core 7.8.0 或更高版本,你可以安全地从你的 Babel 配置中删除这个插件。
¥You can safely remove this plugin from your Babel config if using @babel/core 7.8.0 or above.
安装
¥Installation
- npm
- Yarn
- pnpm
- Bun
npm install --save-dev @babel/plugin-syntax-dynamic-import
yarn add --dev @babel/plugin-syntax-dynamic-import
pnpm add --save-dev @babel/plugin-syntax-dynamic-import
bun add --dev @babel/plugin-syntax-dynamic-import
用法
¥Usage
使用配置文件(推荐)
¥With a configuration file (Recommended)
{
"plugins": ["@babel/plugin-syntax-dynamic-import"]
}
通过 CLI
¥Via CLI
babel --plugins @babel/plugin-syntax-dynamic-import script.js
通过 Node API
¥Via Node API
require("@babel/core").transformSync("code", {
plugins: ["@babel/plugin-syntax-dynamic-import"],
});
使用 Webpack 和 @babel/preset-env
¥Working with Webpack and @babel/preset-env
目前,@babel/preset-env 不知道将 import() 与 Webpack 内部依赖 Promise 一起使用。没有内置支持 Promise 的环境,如 Internet Explorer,将需要手动添加 promise 和 iterator 填充。
¥Currently, @babel/preset-env is unaware that using import() with Webpack relies on Promise internally. Environments which do not have builtin support for Promise, like Internet Explorer, will require both the promise and iterator polyfills be added manually.
例如,对于 core-js@3:
¥For example, with core-js@3:
const config = {
entry: [
"core-js/modules/es.promise",
"core-js/modules/es.array.iterator",
path.resolve(__dirname, "src/main.js"),
],
// ...
};
或
¥or
import "core-js/modules/es.promise";
import "core-js/modules/es.array.iterator";
// ...
这与 core-js@2 相同,只是导入路径略有不同:
¥This is the same for core-js@2, except the imports paths are slightly different:
const config = {
entry: [
"core-js/modules/es6.promise",
"core-js/modules/es6.array.iterator",
path.resolve(__dirname, "src/main.js"),
],
// ...
};
或
¥or
import "core-js/modules/es6.promise";
import "core-js/modules/es6.array.iterator";
// ...