webpack + Babel で ES6 から ES5 へトランスパイル/変換する方法をご紹介します。
各種パッケージの最新版だとしなかったので以下の記事のバージョンに固定して利用しました。
最新版で学ぶwebpack 5入門 - Babel 7でES2021環境の構築(React, Vue, Three.js, jQueryのサンプル付き) - ICS MEDIA
{
"scripts": {
"to-es5": "webpack"
},
"devDependencies": {
"@babel/core": "^7.14.3",
"@babel/preset-env": "^7.14.2",
"babel-loader": "^8.2.2",
"webpack": "^5.37.0",
"webpack-cli": "^4.7.0"
},
"private": true
}
const path = require('path');
const args = process.argv.slice(2);
const inputFileName = args[0];
const outputFilename = path.basename(inputFileName, path.extname(inputFileName)) + '.js';
module.exports = {
mode: "production",
entry: inputFileName,
output: {
filename: outputFilename,
libraryTarget: "commonjs",
path: `${__dirname}/dist`
},
module: {
rules: [
{
test: /.js$/,
use: [
{
loader: "babel-loader",
options: {
presets: [
"@babel/preset-env",
],
},
},
],
},
],
},
target: ["web", "es5"],
externals: /^k6(/.*)?/
};
npm run to-es5 filename.js
npm run to-es5 your-es6-file.js
以上、webpack + Babel で ES5 へトランスパイルした、現場からお送りしました。