Javascript 巴别塔非运输类(网页包)
我正在使用babel+网页包传输代码。 一些代码正在传输,如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: [ {
箭头功能
,而其他代码则没有,如类
,应该进行转换
未传输以下代码:
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'] } }],
],
},
}]
}
]
},