babel-loader没有起作用?webpack

webpack2中使用babel-loader转化es6代码,但是最后的bundle.js中并没有看到预期的结果,还是存在es6的语法,let,函数参数默认值等情况。。

以下是我的webpack的配置部分:

var path = require("path");
var vuxLoader = require('vux-loader');
var webpack = require('webpack');

function resolve (dir) {
  return path.join(__dirname, '..', dir)
}

var webpackConfig = {
    entry: {
        // app: ["./app/cart.js"]
        app: ["./app/goodsDetail.js"]
        // app: ["./app/center.js"]
    },
      output: {
        path: path.resolve(__dirname, "build"),
        publicPath: "/",
        filename: "bundle.js"
     },
     module: {
        rules: [
            {
                test: /\.vue$/,
                loader: 'vue-loader',
                options: {
                      // vue-loader options
                   }
              },
              {
              test: /\.js?$/,
              // exclude: /node_modules/,
              exclude: /node_modules/,
              loader: 'babel',
              query: {
                      presets: ['env']
                }
            }
        ]
    },
      resolve: {
        extensions: ['.js', '.vue', '.json']
    },
    devServer: {
        host: '0.0.0.0'
    },
    plugins: [
        new webpack.DefinePlugin({
          'process.env': {
            NODE_ENV: '"production"'
          }
        })
      ]
};

module.exports = vuxLoader.merge(webpackConfig,{
    plugins: ['vux-ui']
});

查来查去也查不到原因。。。??


现在发现js文件中的es6语法都能被转译,但是.vue中的不行。。

阅读 9.1k
2 个回答

请在项目根目录新建一个
.babelrc

{
    "presets": ["env"]
}

顺便说下如果是vue文件中的js只能通过.babelrc文件来配置

babel: {
        presets: ['es2015', 'stage-2']
    }
    加上这部分试试
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题