webpack,CommonsChunkPlugin为生成的文件提供语法错误

时间:2017-12-11 21:41:51

标签: lambda webpack

我使用webpack使用CommonsChunkPlugin生成vendor.js和main.js文件。我希望我的应用程序使用的所有node_modules都进入vendor.js文件。但是,生成的vendor.js和main.js文件存在语法错误。我实际上正在为AWS编写lambda函数。这是我的webpack.config文件。

const webpack = require('webpack');
const path = require('path');
const CopyWebpackPlugin = require('copy-webpack-plugin');

module.exports = {
    entry: {
        main: './src/app'
    },
    watch: false,
    target: 'node',
    module: {
        rules: [{
            test: /\.js?$/,
            use: 'babel-loader'
        }]
    },
    plugins: [
        new webpack.optimize.CommonsChunkPlugin({
            name: 'vendor',
            minChunks: module => module.context && module.context.indexOf('node_modules') !== -1
        }),
        new CopyWebpackPlugin([
            'config/shoppingPathsSAM.yaml'
        ])
    ],
    output: {
        libraryTarget: 'commonjs',
        path: path.join(__dirname, '../build'),
        filename: '[name].js'
    }
}

我的.babelrc文件包含以下内容

{ "presets": [ [ "env" ] ] } 

1 个答案:

答案 0 :(得分:0)

你错误配置了你的babel配置。它可能尚未配置为输出与节点6.10(或您使用的任何节点版本)兼容的代码。

要使babel代码编译为nodejs6.10兼容,您可以在.babelrc中使用此代码。

{
  "presets": [
    ["env", {
      "targets": {
        "node": "6.10"
      }
    }]
  ]
}