您的位置:首页技术文章
文章详情页

javascript - webpack2怎么打包才能把es6全部都转成es5?

【字号: 日期:2023-05-16 17:28:41浏览:42作者:猪猪

问题描述

webpack2 打包姿势可能没对,转码兼容性不是很好,下面是我的webpack.config.js配置文件(省略了一些无关紧要的):

/** * webpack本地配置 * Less 2017-6-15 2:00 */var path = require(’path’);var webpack = require(’webpack’);var ExtractTextPlugin = require('extract-text-webpack-plugin');var CompressionPlugin = require(’compression-webpack-plugin’);var HtmlWebpackPlugin = require(’html-webpack-plugin’);// var BabiliPlugin = require('babili-webpack-plugin');// 下面这几个require也写到了入口文件main.js最上面去了require(’es5-shim’);require(’es5-shim/es5-sham’);require(’console-polyfill’);require(’core-js/fn/object/assign’);require( 'babel-polyfill');var config = { entry: path.resolve(__dirname, ’../../react/main.js’), output: {filename: ’bundle.js’,path: path.resolve(__dirname, ’../../view’),publicPath: `${NGINX}` }, module: {rules: [{ test: /.(js|jsx)$/, loader: ’babel-loader’, exclude: /node_modules/, include: path.join(__dirname, ’../../react’), options: {presets: ['es2015', 'react', 'stage-0', 'stage-1'] }}, { test: /.css$/, loader: ExtractTextPlugin.extract({fallback: ’style-loader’,use: [ ’css-loader?modules&importLoaders=1&localIdentName=[local]--[hash:base64:5]’, {loader: ’postcss-loader’,options: { plugins: function () {return [ require(’autoprefixer’)]; }} }] })}, { test: /.(png|jpg|jpeg|gif|md)$/, use: [’file-loader?limit=10000&name=[md5:hash:base64:10].[ext]’]}, { test: /.svg(?v=d+.d+.d+)?$/, use: [’url-loader?limit=10000&mimetype=image/svg+xml’]}], }, plugins}module.exports = config;

在华为p7手机上运行,控制台显示:

Uncaught SyntaxError: Unexpected token . bundle.js:10541// 定位到这一段代码:const config = { baseConfig: __webpack_require__(280)(`./${nodeEnv}/config`)}

很明显ES6的字符串模板特性没有转换为ES5的语法,why?

不知道怎么转才能转得更好?求segmentfault大神解答,3Q~

问题解答

回答1:

bablerc 中增加

{ 'plugins': [ ['transform-es2015-template-literals', { 'loose': true, 'spec': true }] ]}

javascript - webpack2怎么打包才能把es6全部都转成es5?

标签: JavaScript
相关文章: