1. 背景
同事在发布一个 npm 包的时候没有将 ES6 语法转成 ES5 语法,导致项目在企微内部浏览器中产生兼容性问题。但短时间内同事不准备发一版来适配这个问题。
2. 解决方案
在项目中单独转译一下该 npm 包,按照一般对 webpack 配置的了解,只需要在使用 babel 的时候将 node_modules/xxx 加到 includes 路径就行了。
{
test: /\.(js|jsx)/,
include: [path.resolve('src'), path.resolve('node_modules/xxx')],
}
然鹅,好像没起作用的样子。
最后发现问题出在 .babelrc 配置文件上,若使用 .babelrc 则 node_modules 会被默认排除在外,在 bable7.x 中可以通过修改文件名来解决 .babelrc => babel.config.json
参考
2. github issue