[英]Angular CLI - new application with separate angular library
我正在尝试创建一个可重用的组件库,主要是作为练习来熟悉角度世界。 我已经为旧版应用程序编写了一个小型独立的角度应用程序,因此我绝对不是Angular的新手,但我认为我对配置的理解足够好,可以做到这一点。 显然我还缺少一些东西。
我有两件:
yo angular2-library
生成的Angular yo angular2-library
。 ng new <library-name>
生成的Angular CLI应用程序。 它们都是CLEAN(运行相应的发电机后无变化)。
在图书馆,我跑了:
npm run build
用示例模块/ component / etc创建/dist
目录 cd dist && npm link
,将cd dist && npm link
到库,如生成器文档中所述 在Angular CLI应用程序中,我运行了:
npm link --save <library-name>
import {SampleModule} from 'library-name'
添加了import {SampleModule} from 'library-name'
到app.module.ts
app.module.ts
的imports数组中添加了SampleModule.forRoot()
,因此它看起来像[BrowserModule, SampleModule.forRoot()]
<sample-component></sample-component>
到app.component.html
模板 ng serve -o
进行编译和运行。 我在Chrome Dev Tools控制台中收到一个错误:
意外错误:模块'AppModule'导入了意外的值'[object Object]'。 请添加一个@NgModule批注。
将导入数组更改为[BrowserModule, SampleModule]
,我得到:
未捕获的错误:模块'AppModule'导入了意外的值'SampleModule'。 请添加一个@NgModule批注。
不知道从这里去哪里。
好的,在写这个问题时,我意识到我错过了一个很小但至关重要的步骤。
与其放弃整个问题,不如我将其留在这里,是希望其他与我做同样的事情并且没有仔细阅读的人可能会受益,因为报告的错误并不能真正描述核心问题。
angular2-library
yo生成器的当前步骤12是什么: { "compilerOptions": { // ... // Note: these paths are relative to `baseUrl` path. "paths": { "@angular/*": [ "../node_modules/@angular/*" ] } } }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.