小编And*_*ich的帖子

pnpm postinstall ngcc 没有按预期运行

在我们的 ci 管道中,我尝试使用 pnpm 而不是 npm 作为包管理器,但postinstall用于编译 ivy 不兼容库的脚本未按预期运行。

控制台输出显示安装后脚本已执行,但随后该pnpm install过程完成但未执行 ngcc。

devDependencies:
+ @angular-devkit/build-angular 0.1001.7
+ @angular-devkit/build-ng-packagr 0.1001.7
+ @angular/cli 10.1.7
+ @angular/compiler-cli 10.2.1
+ @angular/language-service 10.2.1
+ @ngxs/devtools-plugin 3.7.1
+ @nrwl/cli 10.4.4
+ @nrwl/cypress 10.3.1
+ @nrwl/jest 10.3.1
+ @nrwl/workspace 10.3.1
+ @types/jest 26.0.8
+ @types/leaflet 1.5.19
+ @types/node 14.0.27
+ codelyzer 5.2.2
+ cypress 4.12.1
+ cypress-localstorage-commands 1.3.0
+ dotenv 8.2.0
+ eslint 7.3.1
+ husky 4.3.5
+ jest 26.2.2
+ jest-preset-angular 8.3.1 …
Run Code Online (Sandbox Code Playgroud)

angular pnpm

7
推荐指数
1
解决办法
1280
查看次数

NullInjectorError: R3InjectorError(AppModule)[Router -> Router -> Router]: NullInjectorError: No provider for Router

我有一个已发布的库,其中包含一个在其模板中使用 [routerLink] 的组件。在我的应用程序中安装库后,我收到错误NullInjectorError: R3InjectorError(AppModule)[Router -> Router -> Router]: NullInjectorError: No provider for Router!

在库中的模块中,RouterModule 被导入,如下所示:

@NgModule({
  declarations: [
    Component
  ],
  exports: [
    Component
  ],
  imports: [
    CommonModule,
    RouterModule,
    TranslateModule
  ]
})
export class LibWithComponentModule {
}
Run Code Online (Sandbox Code Playgroud)

在我的应用程序中,RouterModule 配置如下:

const routes: Routes = [{
  path: '',
  component: RootComponent
}];

@NgModule({
  imports: [RouterModule.forRoot(routes)],
  exports: [RouterModule]
})
export class AppRoutingModule { }
Run Code Online (Sandbox Code Playgroud)

app.module.ts如下所示:

  declarations: [
    AppComponent,
    RootComponent
  ],
  imports: [
    BrowserModule,
    AppRoutingModule,
    LibWithComponentModule
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export …
Run Code Online (Sandbox Code Playgroud)

angular

4
推荐指数
1
解决办法
5854
查看次数

标签 统计

angular ×2

pnpm ×1