webpack 公共代码vendor出现es6语法没有被编译,但是其他打包文件已经被编译

问题描述

webpack 公共代码vendor出现es6语法没有被编译,但是其他打包文件已经被编译

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)

{
            test: /\.jsx?$/,
            exclude: /(node_modules|bower_components)/,
            loader: 'babel-loader',
            query: {
                "plugins": [["transform-decorators-legacy"], ["transform-runtime"],
            ],
                "presets" : [
                    [ "env", {
                        "modules": false
                    }],
                    "es2015",
                    "react",
                    "stage-0"
                 ]
            }
        }
 // 提供公共代码
    new webpack.optimize.CommonsChunkPlugin({ 
        name: 'vendor', 
        filename: 'js/[name].[hash:8].js'
     }),          

图片

是这个里面的内容,没有被编译
图片描述

阅读 4.9k
4 个回答

一些依赖可能被你 exclude 掉了,就没有经过 babel-loader 处理,自己查看一下。

新的语法才会被编译,新的方法编译后不会变的。新方法的支持是靠polyfill
而且你这个明显是被exclude掉了

区别在于vendor中是node_modules代码。 其他包含由业务代码。

因此查看你webpack的js部分是怎么处理的。

解决了因为我的vendor是打包的第三方组件全部是在package.json的dependencies里面的,那些代码在node_modules里面的,然后我这边配置把exclude的node_modules排除掉了所以这里面的东西没有编译 以后细心点就是了0.0

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