Je suis en train de créer un Angulaires 6 de la bibliothèque et de l'utiliser dans Angulaire 6 app. J'ai bouilli vers le bas à un nombre minimal de cas de test. (Mise à jour: depuis Angulaire 7 est sorti, j'ai essayé aussi, d'ailleurs.)
ng new workspace # accept the defaults
ng new product # accept the defaults
cd workspace
ng generate library widgets
ng build --prod widgets # leave out "--prod" for Angular 7
cd ../product
ng build
Une application appelée "espace de travail" héberge une bibliothèque appelés "widgets". Une autre application appelée "produit" est le seul. Tout à ce point, c'est bien.
Maintenant, nous allons essayer d'utiliser le "widgets" de la bibliothèque dans le "produit" de l'application. Ouvrir le fichier product/src/app/app.module.ts
qui a été générée par la CLI. Ajouter deux lignes, comme illustré ci-dessous.
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AppComponent } from './app.component';
import { WidgetsModule } from '../../../workspace/dist/widgets'; // added
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
WidgetsModule // added
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
Après cette modification, lorsque j'exécute ng build
depuis le répertoire du produit, je reçois des avertissements de Webpack.
Date: 2018-07-31T13:13:08.001Z
Hash: 8a6f58d2ae959edb3cc8
Time: 8879ms
chunk {main} main.js, main.js.map (main) 15.9 kB [initial] [rendered]
chunk {polyfills} polyfills.js, polyfills.js.map (polyfills) 227 kB [initial] [rendered]
chunk {runtime} runtime.js, runtime.js.map (runtime) 5.22 kB [entry] [rendered]
chunk {styles} styles.js, styles.js.map (styles) 15.6 kB [initial] [rendered]
chunk {vendor} vendor.js, vendor.js.map (vendor) 4.59 MB [initial] [rendered]
WARNING in ../workspace/node_modules/@angular/core/fesm5/core.js
4997:15-36 Critical dependency: the request of a dependency is an expression
WARNING in ../workspace/node_modules/@angular/core/fesm5/core.js
5009:15-102 Critical dependency: the request of a dependency is an expression
Quel est "le résultat d'une dépendance est une expression" veut dire? Ce que je fais mal?