lorsque je crée un projet principal asp.net avec Angular Dotnet, la nouvelle commande n’ajoute pas de fichier angular.json (angular 6) au projet et nous ne pouvons donc pas utiliser angular cli. Si j'ajoute le fichier angular.json manuellement, le projet donne l'exception ci-dessous!?
Workspace needs to be loaded before it is used. Error: Workspace needs to be loaded before it is used. at Workspace._assertLoaded (D:\NetAngular\node_modules\@angular-devkit\core\src\workspace\workspace.js:59:19) at Workspace.getProjectByPath (D:\NetAngular\node_modules\@angular-devkit\core\src\workspace\workspace.js:103:14) at Object.getPackageManager (D:\NetAngular\node_modules\@angular\cli\utilities\config.js:97:35) at UpdateCommand.runSchematic (D:\NetAngular\node_modules\@angular\cli\models\schematic-command.js:74:38) at UpdateCommand.<anonymous> (D:\NetAngular\node_modules\@angular\cli\commands\update.js:70:25) at Generator.next (<anonymous>) at D:\NetAngular\node_modules\@angular\cli\commands\update.js:7:71 at new Promise (<anonymous>) at __awaiter (D:\NetAngular\node_modules\@angular\cli\commands\update.js:3:12) at UpdateCommand.run (D:\NetAngular\node_modules\@angular\cli\commands\update.js:69:16)
EUREKA .............
dotnet new angular comman ne crée pas de fichier angular.json à la racine de l'application. dans certains sites, ils disent qu'après avoir utilisé
npm install --save--dev @angular/cli@latest
utilisation de la commande
npm update @angular/cli
qui migre votre fichier angular-cli.json en fichier angular.json !!! mais le point ici il n'y a pas de fichier angular-cli.json ni angular.json.
J'ai résolu le problème en créant mon propre fichier angular.json (voir ci-dessous) (vous pouvez changer vega avec le nom de votre projet)
{
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
"version": 1,
"newProjectRoot": "projects",
"projects": {
"vega": {
"root": "",
"sourceRoot": "ClientApp",
"projectType": "application",
"prefix": "app",
"schematics": {},
"architect": {
"build": {
"builder": "@angular-devkit/build-angular:browser",
"options": {
"outputPath": "ClientApp/dist/vega"
},
"configurations": {
"production": {
"fileReplacements": [{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.prod.ts"
}],
"optimization": true,
"outputHashing": "all",
"sourceMap": false,
"extractCss": true,
"namedChunks": false,
"aot": true,
"extractLicenses": true,
"vendorChunk": false,
"buildOptimizer": true
}
}
}
}
}
}
}
après cela, j'ai pu utiliser la commande angulaire Cli et créer des composants et des services.
Code pour être heureux
Je recevais la même erreur, et oui angular.json posait le problème . Cette erreur peut se produire lorsque vous ajoutez le chemin css externe manuellement. J'avais manqué la virgule lors du référencement de bootstrap css.
Lors de l'ajout du CSS personnalisé dans le tableau de style, j'ai raté la virgule (,)
Fichier d'erreur:
Si vous voyez ci-dessous le code, une virgule est manquante après
"../node_modules/bootstrap/dist/bootstrap.min.css".
"styles": [
"../node_modules/bootstrap/dist/bootstrap.min.css"
"src/styles.css"
]
Solution: virgule ajoutée
"styles": [
"../node_modules/bootstrap/dist/bootstrap.min.css",
"src/styles.css"
]
Même erreur. J'ai essayé de désinstaller, de réinstaller et de mettre à niveau, mais vous avez toujours signalé ces informations d'erreur.
Après avoir supprimé un fichier ~/.angular-config.json vide, tout fonctionne à nouveau correctement.
J'ai changé mon fichier angular.json, mais je n'ai vu aucune erreur. Après avoir vérifié les virgules et tout ce que je voulais, je l’ai enregistré avec le codage (UTF-8), puis formaté le document (clic droit et Formater le document), ce qui a supprimé 10 lignes redondantes. Après cela, je pourrais lancer la mise à jour de cli angulaire, ainsi que les commandes.
Il est confirmé que vous avez apporté des modifications à angular.json. si vous avez un problème de syntaxe dans votre fichier angular.json, cette erreur se produit. Je dirais que ce comportement est inattendu et qu'il devrait être modifié pour indiquer un problème de syntaxe dans le fichier.
Après avoir ajouté une virgule après buildOptimizer:true
, cela fonctionne bien.
"configurations": {
"production": {
"optimization": true,
"outputHashing": "all",
"sourceMap": false,
"extractCss": true,
"namedChunks": false,
"aot": true,
"extractLicenses": true,
"vendorChunk": false,
"buildOptimizer": true //I missed to put comma here...
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.prod.ts"
}
]
}
}