【问题标题】:IDE code completion in Angular custom library generated by ng-packagrng-packagr 生成的 Angular 自定义库中的 IDE 代码完成
【发布时间】:2018-08-27 17:26:15
【问题描述】:

我有一个在 Angular 中生成的库,用于其他项目。我是用 ng-packagr 生成的。

当我将该库中的组件用于消费者项目时,它不会显示代码完成等所有 IDE 好东西。

例如组件app-my-input 有一个Input() 属性title,现在的用法是:

<app-my-input [title]="'my title here'"></app-my-input>

现在,当我通常在像 WebStorm/PhpStorm 这样的 IDE 中使用这样的第三方组件时,我只需在 &lt;app-my-input 之后键入 inp,我会自动收到一个建议 [input],但对于我的库我不是收到此建议。

我的public_api.ts 文件已导出所有组件的 .ts 文件和模块的 .ts 文件。是否需要导出其他内容才能使代码完成工作?

【问题讨论】:

  • 你是如何将你的库添加到你的项目中的?它位于哪里?如果你去Project Settings &gt; Modules,你能把它看作内容根(或在一个已经定义的根内)吗?

标签: javascript angular phpstorm webstorm


【解决方案1】:

您需要在发布的包中包含您的组件源(.ts 包含类定义的文件)或 *.metadata.json (https://medium.com/@isaacplmann/getting-your-angular-2-library-ready-for-aot-90d1347bcad),以便让静态代码分析识别您的组件;代码完成等将无法正常工作

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-08
    • 2017-01-26
    • 1970-01-01
    • 1970-01-01
    • 2015-11-24
    • 1970-01-01
    相关资源
    最近更新 更多