0.背景
anguar项目。分为主包和子包,子包推送到npm私有仓库中,然后主包在packjson中引入子包的版本号,把主包打包。
打包过程中,开始报错:
ERROR in ./node_modules/xxxx/fesm5/xxxxxxx.js
Module not found: Error: Can’t resolve ‘app/routes/xxxxx/xxxx/xxx.component’ in ‘D:\xxx\xxx\xx\xxx\xx-\node_modules\xxxx\fesm5’
这个报错的意思是没有正常引用子包。
根本原因是子包引用不对,比如下面这样的引用:
import { xxxxComponent } from ‘app/routes/xxxxx/xxx/xxxx.component’;
我们需要把上面这样的引用改成下面这样:
import { xxxxComponent } from ‘../../routes/xxxxx/xxx/xxxx.component’;
重新打包,发布到npm仓库,然后主包重新引用子包就可以了。