当我使用babel编译js时,没有定义代理

时间:2016-01-23 05:45:23

标签: javascript ecmascript-6 babeljs

当我使用babel编译js时,config.js

var webpack = require('webpack');
var commonsPlugin = new webpack.optimize.CommonsChunkPlugin('common.js');

module.exports = {
    entry: {
        Index: './index.js',
        Test: './test.js'
    },
    output: {
        path: __dirname,
        filename: '[name].js' // Template based on keys in entry above
    },
    module: {
        loaders: [
            {
              test: /\.js(x?)$/,
              loader: 'babel-loader',
              query: {
                presets: ['es2015']
              }
            }
        ]
    },
    plugins: [commonsPlugin]
};

我的条目js只是console.log(new Proxy());,在chrome中会调用错误Uncaught ReferenceError: Proxy is not defined

我确定已编译js,但为什么在编译babel后未定义Proxy

2 个答案:

答案 0 :(得分:2)

目前,babeljs不支持代理。

来自website

  

不支持的功能
  由于ES5的限制,代理不能被转换或填充。请参阅various JavaScript engines中的支持。

答案 1 :(得分:1)

尝试实验节点模块babel-plugin-proxy

  

npm install babel-plugin-proxy --save-dev

注意:它不适合生产环境,因为性能影响很大。

<强>参考:
https://www.npmjs.com/package/babel-plugin-proxy
https://github.com/krzkaczor/babel-plugin-proxy