我正在开发一个使用 Angular 库的 Angular 项目。我最近从版本 17 升级到了版本 18。在版本 17 中,我使用
ng build --watch
和 npm link
来在开发过程中为我的项目和库启用热重载。
但是,自从升级到版本18之后,这个过程就不再起作用了。两个项目都编译成功,并且项目正确使用了库,但项目不再检测到库中所做的更改。
我知道 Angular 18 对构建过程进行了一些更改,但我一直无法找到如何针对此用例进行配置。你有解决办法吗?
您可以通过创建包含库的新项目来重现它
ng new project
ng new my-workspace --no-create-application
cd my-workspace
ng generate library my-lib
cd projects\my-lib
ng build --watch
然后当图书馆建成时
npm link // In the library dist folder
npm link my-lib // In the project folder
npm start
您可以更改
prebundle
文件中开发服务器的 angular.json
选项来处理这种情况。
示例:
"serve": {
"configurations": {
"development": {
"prebundle": {
"exclude": ["@myorg/my-ngx-library"]
}
}
}
}