在我正在处理的项目的Webpack中,我让Webpack设置为Babel进行转换,因此我可以使用Flow类型的JavaScript。但是,当我运行具有此规则的Webpack时,
{
test: /\.js/,
exclude: ['/node_modules/'],
use: [{
loader: 'babel-loader',
options: {
presets: ['env'],
plugins: ['transform-flow-strip-types']
}
}]
}
我得到了:
Module build failed: Error: Couldn't find preset "transform-flow-strip-types"
relative to directory "/home/andy"
上次我正在研究这个问题,Webpack工作正常并且在我的node_modules文件夹中搜索transform-flow-strip-types,但现在它正在我的主目录中查找。为什么Webpack会突然查看我的主目录,或者我如何能够诊断出它为什么会这样?
答案 0 :(得分:2)
这是巴贝尔配置文件解析中的一个不幸的步枪。它已经遍历您的项目,并在您的主目录中找到了一个不相关的.babelrc
文件。
这里几乎没有理由拥有.babelrc
,所以最好的办法就是删除/home/andy/.babelrc
。或者,如果这实际上是您想要的东西(如果是,请重新考虑:P),您可以在项目中创建一个no-op .babelrc
,其中只有一个空对象,这也可以解决问题
我目前正在努力让Babel在找到任何.babelrc
文件后立即停止搜索package.json
文件,但尚未登陆且仅适用于Babel 7.x,而不是当前6.x版本。 https://github.com/babel/babel/pull/7358