Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 巴别塔非运输类(网页包)_Javascript_Webpack_Babeljs - Fatal编程技术网

Javascript 巴别塔非运输类(网页包)

Javascript 巴别塔非运输类(网页包),javascript,webpack,babeljs,Javascript,Webpack,Babeljs,我正在使用babel+网页包传输代码。 一些代码正在传输,如箭头功能,而其他代码则没有,如类,应该进行转换 未传输以下代码: module.exports = class { static setMetric(name, value) {; if (typeof ga === 'function') { ga('set', name, value); } }; } 遵循网页包配置: module: { rules: [ {

我正在使用babel+网页包传输代码。 一些代码正在传输,如
箭头功能
,而其他代码则没有,如
,应该进行转换

未传输以下代码:

module.exports = class {
  static setMetric(name, value) {;
    if (typeof ga === 'function') {
      ga('set', name, value);
    }
  };
}
遵循网页包配置:

  module: {
    rules: [
      { 
        test: /\.js$/, 
        exclude: /(node_modules|bower_components)/,
        use: [{
          loader: 'babel-loader',
          options: {
            presets: [
              ['@babel/preset-env', { targets: { browsers: ['ie >= 11', 'safari > 9'] } }],
            ],
          },
        }]
      }
    ]
  },

预期结果应该是:

.babelrc-

网页包

output: {
  path: path.resolve(__dirname, 'dist'),
  filename: './script.js',
  library: 'test' // of course, it can be a different name
},
脚本-为了测试的目的,我添加了带有警报的构造函数

module.exports = class {
  constructor() {
    alert('ok')
  }
  static setMetric(name, value) {
    if (typeof ga === 'function') {
      ga('set', name, value);
    }
  };
 }
index.html-在index.html中调用了我们的测试类

<script src="./script.js"></script>
<script>
  new test();
</script>

新测试();

我发现了我的问题。
node\u modules
中的一个包生成了错误。 在
exclude
属性中,我忽略了这个包,它改变了它

module: {
    rules: [
      { 
        test: /\.js$/, 
        exclude: /(node_modules(?!\/packageNameToTransform\/)|bower_components)/,
        use: [{
          loader: 'babel-loader',
          options: {
            presets: [
              ['@babel/preset-env', { targets: { browsers: ['ie >= 11', 'safari > 9'] } }],
            ],
          },
        }]
      }
    ]
  },

我发现我的问题,一个包上的节点模块,产生了错误。在“排除”上,我忽略了此包,以转换它
module: {
    rules: [
      { 
        test: /\.js$/, 
        exclude: /(node_modules(?!\/packageNameToTransform\/)|bower_components)/,
        use: [{
          loader: 'babel-loader',
          options: {
            presets: [
              ['@babel/preset-env', { targets: { browsers: ['ie >= 11', 'safari > 9'] } }],
            ],
          },
        }]
      }
    ]
  },