【发布时间】:2017-12-02 01:46:20
【问题描述】:
我正在尝试创建一个可重用的组件库,主要是作为熟悉 Angular 世界的练习。我已经为一个遗留应用程序编写了一个小型的独立 Angular 应用程序,所以我对 Angular 很陌生,但我认为我对配置的理解足以做到这一点。显然我还缺少一些东西。
我有两块:
- 使用
yo angular2-library生成的 Angular 库。 - 使用
ng new <library-name>生成的 Angular CLI 应用程序。
这些都是干净的(运行各自的生成器后没有变化)。
在图书馆,我跑了:
-
npm run build使用示例模块/组件/等创建/dist目录 -
cd dist && npm link将 npm 链接到库 as described here in the generator documentation
在 Angular CLI 应用程序中,我运行了:
npm link --save <library-name>- 将
import {SampleModule} from 'library-name'添加到app.module.ts - 在
app.module.ts的导入数组中添加了SampleModule.forRoot(),所以它看起来像[BrowserModule, SampleModule.forRoot()] - 将
<sample-component></sample-component>添加到app.component.html模板中 -
ng serve -o编译运行。
Chrome 开发工具控制台出现错误:
未捕获的错误:模块“AppModule”导入的意外值“[object Object]”。请添加@NgModule 注解。
将导入数组更改为[BrowserModule, SampleModule],我得到:
未捕获的错误:模块“AppModule”导入了意外的值“SampleModule”。请添加@NgModule 注解。
不知道从这里去哪里。
【问题讨论】:
-
看看这里 github.com/filipesilva/angular-quickstart-lib ,这很可能是用于创建库的 angular-cli 版本的基本结构
标签: angular angular-cli