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

新手上路,请多包涵

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~

阅读 6.9k
1 个回答

bablerc 中增加

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

图片描述

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题