HappyPack 配合 Babel 编译 React 项目时报错怎么办?
我用 HappyPack 来加速 Webpack 的 Babel 编译,但一加上就报错,说 JSX 语法不识别。明明没加 HappyPack 时能正常跑,是不是配置哪里有问题?
这是我的组件代码:
import React from 'react';
const App = () => {
return (
<div>
<h1>Hello World!</h1>
</div>
);
};
export default App;
Webpack 里我把 babel-loader 换成了 happypack/loader,但好像没传对 Babel 配置,求指点!
正确的配置姿势是这样的:
先在 plugins 里声明 HappyPack 插件,把你的 babel 配置传进去:
然后 loader 部分要这样写:
你之前大概率只改了 use 部分改成
happypack/loader,但没在 plugins 里创建对应的插件实例,HappyPack 根本不知道去哪儿找 babel 配置。另外提醒一句:HappyPack 现在基本属于半废弃状态维护了,官方也不太更新了。如果你项目不是特别老,其实可以考虑直接用
cache-loader或者升级到 webpack5 用自带的持久化缓存,比 HappyPack 稳定多了。