cie*_*awy 2 intellij-idea angular angular-library
我正在尝试使用在单独的 Angular 应用程序中存在的库(项目)中实现的 Angular 模块。在 IntelliJ 中,我收到一个错误,Class MyModule is not an Angular module并且在我可以成功运行ng build此项目时,IntelliJ 中似乎无法识别所有库。更奇怪的是,我实际上有两个 Angular 库存在于另一个 Angular 应用程序中,我可以毫无问题地使用其他库中的模块。
我访问过其他类似的相关问题,class is not an Angular module但它们似乎并不相关。
这是我经过几个小时的思考后找到的答案。我在主项目中使用有问题的库的方式是:
npm link在buildlib文件夹中npm link @my-org/my-new-lib 在应用程序中,我看到了问题。与ng build @my-org/my-new-lib --watchlib一起,这使我可以同时处理两个项目,在目标应用程序中立即看到结果。
这个问题显然是由于 IntelliJ 中的一个错误 - https://youtrack.jetbrains.com/issue/WEB-38354?_ga=2.263408847.258701770.1571260138-1443411092.1565629801 - 尽管它dist会自动导致依赖关系被排除在外该库正确链接到目标应用程序的node_modulesIntelliJ 将其排除在外,因此该库实际上无法在 IDE 中使用。
解决方法(类似于 jetbrains 票证中建议的方法)是在目标应用程序的 IDE 中转到符号链接node_modules/@my-org/my-new-lib- 右键单击它并选择将目录标记为->不排除
希望这可以为某人节省一些时间,因为它确实令人困惑且难以克服。
| 归档时间: |
|
| 查看次数: |
2856 次 |
| 最近记录: |