Babel 6转换运行时:$ export不是函数

Ted*_*ery 38 javascript webpack babeljs

我正在尝试合并Babel的转换运行时,以使我的代码与IE9兼容.但自从集成它以后,代码甚至不能在Chrome上运行.我得到的错误Uncaught TypeError: $export is not a functiones6.object.define-property.js:3.没有我的.babelrc中的"transform-runtime"行,一切运行正常.有任何想法吗?

这是我的.babelrc:

{
  "plugins": [
    "transform-runtime"
  ],
  "presets": [
    "es2015",
    "react"
  ]
}
Run Code Online (Sandbox Code Playgroud)

我的webpack.config.js:

var webpack = require('webpack');

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

module.exports = {
  entry: {
    EventAdmin: './src/event_admin',
    EventRender: './src/event_render'
  },
  output: {
    path: '../public/js2',
    filename: '[name].js' // Template based on keys in entry above
  },
  externals: {
    // require("jquery") is external and available
    //  on the global var jQuery
    'jquery': 'jQuery'
  },
  plugins: [commonsPlugin],
  devtool: 'source-map',
  module: {
    loaders: [
      { test: /\.css$/, loader: 'style-loader!css-loader' },
      {
        test: /\.js$/,
        loader: 'babel-loader'
      },
    ]
  }
};
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

Pie*_*ren 46

尝试添加exclude: /node_modules/之后loader: 'babel-loader'.尝试运行运行时转换器而不排除node_modules时遇到了同样的问题.不过,我不知道潜在的问题.

  • 我有排除:“ / node_modules /”,通过更改为排除:/ node_modules /来解决。 (2认同)

小智 23

您好我有同样的问题,最后找到了适合我的解决方案.看到:

loaders: [
  {
    test: /.js/,
    loader: 'babel',
    query: {
      presets: ['es2015', 'es2017'],
      plugins: [
        ['transform-runtime', {
          helpers: false,
          polyfill: false,
          regenerator: true, }],
        'transform-es2015-destructuring',
        'transform-object-rest-spread',
        'transform-async-to-generator',
        ],
     },
  },
]
Run Code Online (Sandbox Code Playgroud)

请参阅'transform-runtime'部分.我希望这有帮助.


And*_*aes 7

您可以按照文档中的建议,尝试将"exclude"替换为"include" .

尽可能选择"包括"......

这对我有用.

{
  "test": /\.js/,
  "loader": "babel",
  "include": [path.resolve(__dirname, './src')]
}
Run Code Online (Sandbox Code Playgroud)


RMo*_*s13 1

你还安装了babel-runtime 吗?

我刚刚安装了两者并将插件添加到 .babelrc 中,结果就成功了。