Skip to content

遇到的疑问问题与坑

vue+ts 项目配置happyPack遇到的坑

本地项目启动 ts-loader 打包main.ts文件太慢(main.ts依赖太多)

开启happyPack多进程打包:https://www.jianshu.com/p/b9bf995f3712

配置:

js
// module/rules
{
    test: /\.tsx?$/,
    loader: 'happypack/loader?id=tsLoader',
    exclude:[ /node_modules/, /activiti/]
},
js
 // plugins
new HappyPack({
    id: 'tsLoader',
    loaders: [{
        loader: 'ts-loader',
        options: {
            appendTsSuffixTo: [/\.vue$/],
            happyPackMode: true
        }
    }],
    threadPool: happyThreadPool,
    //允许 HappyPack 输出日志
    verbose: true,
})

遇到的坑

1、loader._compiler.plugin is not a function

解决方案:https://github.com/xcatliu/typescript-tutorial/issues/20

options中必须加上 happyPackMode: true 这个属性

2、loader的options需要放到 new HappyPack中对应的options里面去

3、ts-loader的版本问题,需要降低至3.x的版本,但是解决第一个坑后,这个版本问题貌似就不存在了。

最后成功的版本:

json
"happypack": "^5.0.1",
"ts-loader": "^5.3.1",