[英]why babel is not converted es6 to es5 using webpack?
我正在嘗試使用 moduler bundler webpack 中的 babel 在 es5 中轉換我的 es6 語法(導入和導出關鍵字、箭頭函數)文件。 我能夠做到這一點,但在捆綁包中我看到了幾個arrow function
為什么? babel 不能編譯那些嗎?
我喜歡這個
webpackconfig.js
module: {
rules: [
{
test: /\.js$/,
exclude: /node_modules/,
use: {
loader: 'babel-loader'
}
}
]
},
.babelrc
{
"presets": ["@babel/preset-env"],
"plugins": ["@babel/plugin-syntax-dynamic-import"]
}
package.json
"devDependencies": {
"@babel/core": "^7.13.16",
"@babel/plugin-syntax-dynamic-import": "^7.8.3",
"@babel/preset-env": "^7.13.15",
"autoprefixer": "^10.2.5",
"babel-core": "^6.26.3",
"babel-loader": "^8.2.2",
"babel-preset-env": "^1.7.0",
"clean-webpack-plugin": "^4.0.0-alpha.0",
"compression-webpack-plugin": "^7.1.2",
但我得到了從arrow function
開始的捆綁包。 bundle.js
(() => {
"use strict";
var t, e, a, n, u = (t = function () {
enter code here
({
init: function () {
this.initComponents()
}, initComponents: function () {
Ut.init(), Pt.init()
}
}).init()
})();
您看到的箭頭 function 是由webpack
生成的,它根本不是來自babel
。 基本上webpack
允許您通過設置target
來配置以完全支持es5
語法。
這是一個例子:
// webpack.config.js
module.exports = {
// ...
target: ['web', 'es5'],
}
或者,如果您想使用browserslist
,您可以簡單地設置為browserslist
並通過package.json
提供配置
// webpack.config.js
module.exports = {
// ...
target: ['browserslist'],
}
並指定配置:
// package.json
{
// ...
"browserslist": [
"IE 11"
]
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.