在一个 react 项目中,我使用了 react-boilerplate,但有私有模块包含在需要转译的前端。为了让 babel 转换那些我设置 exclude 到 webpack 配置中与 babel 相关的以下函数:
rules: [
{
test: /\.js$/, // Transform all .js files required somewhere with Babel
// eslint-disable-next-line object-shorthand, func-names
exclude: function (modulePath) {
return /node_modules/.test(modulePath) &&
!/node_modules\/@trade-quorum\/tq-helpers/.test(modulePath);
},
use: {
loader: 'babel-loader',
options: options.babelQuery,
},
},
它工作得很好。
现在我在另一个项目中使用了相同的技巧,但这一次,在生成的包中包含 tq-helpers 但未转译到 ES5 中 - ES6 代码直接在包中并且构建引发错误(更具体地说是 UglifyJS)。
这个包的依赖关系在两个项目中不一样但很难找到,这一定是有原因的。我想知道是否有一种方法可以详细调试 babel 对特定包所做的工作以找出原因。
谢谢你的帮助,
最好的,
迪迪埃