@babel/plugin-transform-modules-amd
History
版本 | 变化 |
---|---|
v7.14.0 | 实现了 importInterop 选项 |
此插件包含在 @babel/preset-env
中的 modules
选项下
¥This plugin is included in @babel/preset-env
under the modules
option
该插件将 ECMAScript 模块转换为 AMD。请注意,只有导入/导出语句 (import "./mod.js"
) 和导入表达式 (import('./mod.js')
) 的语法被转换,因为 Babel 不知道 ECMAScript 模块的实现和 AMD 之间的不同解析算法。
¥This plugin transforms ECMAScript modules to AMD. Note that only the syntax of import/export statements (import "./mod.js"
) and import expressions (import('./mod.js')
) is transformed, as Babel is unaware of the different resolution algorithms between implementations of ECMAScript modules and AMD.
示例
¥Example
输入
¥In
export default 42;
输出
¥Out
define(["exports"], function(exports) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true,
});
exports.default = 42;
});
安装
¥Installation
- npm
- Yarn
- pnpm
npm install --save-dev @babel/plugin-transform-modules-amd
yarn add --dev @babel/plugin-transform-modules-amd
pnpm add --save-dev @babel/plugin-transform-modules-amd
用法
¥Usage
使用配置文件(推荐)
¥With a configuration file (Recommended)
{
"plugins": ["@babel/plugin-transform-modules-amd"]
}
通过 CLI
¥Via CLI
babel --plugins @babel/plugin-transform-modules-amd script.js
通过 Node API
¥Via Node API
require("@babel/core").transformSync("code", {
plugins: ["@babel/plugin-transform-modules-amd"],
});
选项
¥Options
moduleIds
boolean
默认为 !!moduleId
¥boolean
defaults to !!moduleId
添加于:v7.9.0
¥Added in: v7.9.0
启用模块 ID 生成。
¥Enables module ID generation.
moduleId
string
添加于:v7.9.0
¥Added in: v7.9.0
用于模块的硬编码 ID。不能与 getModuleId
一起使用。
¥A hard-coded ID to use for the module. Cannot be used alongside getModuleId
.
getModuleId
(name: string) => string
添加于:v7.9.0
¥Added in: v7.9.0
给定 babel 生成的模块名称,返回要使用的名称。返回一个虚假值将使用原始的 name
。
¥Given the babel-generated module name, return the name to use. Returning
a falsy value will use the original name
.
moduleRoot
string
添加于:v7.9.0
¥Added in: v7.9.0
包含在生成的模块名称上的根路径。
¥A root path to include on generated module names.
对于此处未列出的选项,请参阅 @babel/plugin-transform-modules-commonjs
的选项。
¥For options not listed here, see options for @babel/plugin-transform-modules-commonjs
.