在我 Build 不同项目的共享模块之后,编译成可安装的npm模块 . 然后,我可以在其他角度项目中使用我的模块 . 之前的角度6中的可共享组件是我以前的项目 . 我今天决定将我的项目升级为角7 . 当我启动项目时,它工作正常并且符合预期 .
但是,在我将它打包成npm install-able并将其安装在其他项目中后,我的项目失败了
RROR错误:StaticInjectorError(AppModule)[NgIf - > ViewContainerRef]:StaticInjectorError(Platform:core)[NgIf - > ViewContainerRef]:NullInjectorError:没有ViewContainerRef的提供者!
然后我升级了嵌入项目模块以匹配可共享项目,但它仍然存在 . 我注意到 commonModule
暴露的所有指令都打破了上面的错误 . 然而,可共享项目独立运作 . 即使存在,安装的组件似乎也无法识别 commonModule
. 以下是我在项目中使用组件的方法 .
import { LoaderModule } from "my-angular-components/dist/loader";
@NgModule({
imports: [
BrowserModule,
LoaderModule,
RouterModule.forRoot(ROUTES, { useHash: true })
],
declarations: [],
...
})
我的 tsconfig.json
{
"compilerOptions": {
"baseUrl": ".",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"importHelpers": true,
"lib": [
"es6",
"es7",
"es2015",
"dom"
],
"module": "es2015",
"moduleResolution": "node",
"noEmitHelpers": true,
"noImplicitAny": false,
"outDir": "lib",
"rootDir": ".",
"sourceMap": true,
"skipLibCheck": true,
"target": "es5",
}
角度7是否有任何突破性的变化正在打破 commonModule
?如果我将它们都恢复到角度6但不是7,这是有效的 . 项目也可独立工作,而无需另外安装组件作为模块 . 请,任何帮助将不胜感激 .