メインコンテンツへスキップ

@babel/plugin-transform-modules-systemjs

情報

このプラグインは、`modules`オプションの下で`@babel/preset-env`に含まれています。

このプラグインは、ECMAScriptモジュールをSystemJSに変換します。Babelは、ECMAScriptモジュールとSystemJSの実装間の異なる解決アルゴリズムを認識していないため、import/export文(`import "./mod.js"`)とimport式(`import('./mod.js')`)の*構文のみ*が変換されることに注意してください。

入力

JavaScript
export default 42;

出力

JavaScript
System.register([], function(_export, _context) {
return {
setters: [],
execute: function() {
_export("default", 42);
},
};
});

動的importサポート(`import('./lazy.js').then(m => ...)`)には、このプラグインの前に@babel/plugin-syntax-dynamic-importプラグインを有効にしてください。

インストール

npm install --save-dev @babel/plugin-transform-modules-systemjs

使用方法

オプションなし

babel.config.json
{
"plugins": ["@babel/plugin-transform-modules-systemjs"]
}

オプションあり

babel.config.json
{
"plugins": [
[
"@babel/plugin-transform-modules-systemjs",
{
// outputs SystemJS.register(...)
"systemGlobal": "SystemJS"
}
]
]
}

CLI経由

シェル
babel --plugins @babel/plugin-transform-modules-systemjs script.js

Node API経由

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

オプション

moduleIds

boolean、デフォルトは!!moduleId

追加されたバージョン: v7.9.0

モジュールIDの生成を有効にします。

moduleId

文字列

追加されたバージョン: v7.9.0

モジュールに使用するハードコードされたID。getModuleIdと併用することはできません。

getModuleId

(name: string) => string

追加されたバージョン: v7.9.0

Babelによって生成されたモジュール名を与えると、使用する名前を返します。偽の値を返すと、元のnameが使用されます。

moduleRoot

文字列

追加されたバージョン: v7.9.0

生成されたモジュール名に含めるルートパス。