Angular no module factory disponible pour le type de dépendance: Contexttelementdependency
Exécution ng build
sur mon Angulaire 4 projet donne cette erreur :
14% building modules 40/46 modules 6 active ...es@angularhttp@angularhttp.es5.js
An error occured during the build:
Error: No module factory available for dependency type: ContextElementDependency
at Compilation.addModuleDependencies (D:devworkspacerepnode_modules@angularclinode_moduleswebpacklibCompilation.js:213:21)
at Compilation.processModuleDependencies (D:devworkspacerepnode_modules@angularclinode_moduleswebpacklibCompilation.js:202:8)
at _this.buildModule.err (D:devworkspacerepnode_modules@angularclinode_moduleswebpacklibCompilation.js:350:14)
at building.forEach.cb (D:devworkspacerepnode_modules@angularclinode_moduleswebpacklibCompilation.js:147:27)
at Array.forEach (native)
at callback
j'ai lu beaucoup de Questions/Réponses sur github & stackoverflow sur cette question, mais aucune d'entre elles ne m'a aidé.
comme le suggéraient les réponses, j'ai retiré webpack mais cela n'a pas aidé. Supprimé node_modules,supprimé webpack du paquet.json, run npm install
, toujours pas aidé. Nettoyage du cache de npm, suppression de webpack du paquet.json, run npm install
, toujours pas de résultat. Et beaucoup d'autres suggestions similaires n'ont pas aider.
quand je retire webpack du paquet.json et run npm install
je code suivant:
Cannot find module 'webpack/lib/node/NodeTemplatePlugin' Error: Cannot
find module 'webpack/lib/node/NodeTemplatePlugin'
at Function.Module._resolveFilename (module.js:469:15)
at Function.Module._load (module.js:417:25)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (D:devworkspacerepnode_moduleshtml-webpack-pluginlibcompiler.js:11:26)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (D:devworkspacerepnode_moduleshtml-webpack-pluginindex.js:7:21)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
Lors du retour de webpack de package.json , run npm install
et puis exécutez npm list webpack
j'ai le résultat suivant:
+-- @angular/cli@1.4.7
| `-- webpack@3.6.0
`-- webpack@3.8.1
voici le paquet.json du projet:
{
"name": "somename",
"version": "1.0.0",
"description": "",
"author": "",
"url": "",
"copyright": "somec",
"license": "MIT",
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e"
},
"private": true,
"dependencies": {
"@angular/common": "^4.4.5",
"@angular/compiler": "^4.4.5",
"@angular/core": "^4.4.5",
"@angular/forms": "^4.4.5",
"@angular/http": "^4.4.5",
"@angular/platform-browser": "^4.4.5",
"@angular/platform-browser-dynamic": "^4.4.5",
"@angular/router": "^4.4.5",
"@angular/upgrade": "^4.4.5",
"amazon-cognito-identity-js": "^1.21.0",
"chart.js": "2.7.0",
"core-js": "2.5.1",
"font-awesome": "^4.7.0",
"jquery": "^3.2.1",
"moment": "2.18.1",
"ng2-charts": "1.6.0",
"ngx-bootstrap": "1.9.3",
"raw-loader": "^0.5.1",
"rxjs": "5.4.3",
"simple-line-icons": "^2.4.1",
"ts-helpers": "1.1.2",
"zone.js": "0.8.17"
},
"devDependencies": {
"@angular/cli": "^1.4.7",
"@angular/compiler-cli": "^4.4.5",
"@types/jasmine": "2.6.0",
"@types/jquery": "^3.2.13",
"@types/node": "8.0.28",
"codelyzer": "3.2.0",
"jasmine-core": "2.8.0",
"jasmine-spec-reporter": "4.2.1",
"karma": "1.7.1",
"karma-chrome-launcher": "2.2.0",
"karma-cli": "1.0.1",
"karma-coverage-istanbul-reporter": "1.3.0",
"karma-jasmine": "1.1.0",
"karma-jasmine-html-reporter": "0.2.2",
"node-sass": "^4.5.3",
"postcss-loader": "^2.0.6",
"protractor": "5.1.2",
"sass-loader": "^6.0.6",
"ts-node": "3.3.0",
"tslint": "5.7.0",
"typescript": "2.5.2",
"webpack": "^3.6.0"
},
"engines": {
"node": ">= 6.9.0",
"npm": ">= 3.0.0"
}
}
quand je clone ce repo sur une autre machine, exécuter npm install
et ng build
c'est bon, ça marche bien, mais sur le mien ça donne cette erreur. J'ai essayé de supprimer complètement le repo de ma machine, le clonage à partir de zéro et en cours d'exécution npm install
et ng build
, toujours la même erreur.
quelqu'un Peut s'il vous plaît dites quelle peut être la raison de ce problème et comment le résoudre ?
2 réponses
mesures que j'ai prises pour corriger ce problème au cas où quelqu'un le rencontrerait:
- paquet.json: supprimer webpack de DevDependencies
- rm-R node_modules (retirer le dossier node_modules)
- npm i-g webpack
- npm i-g webpack-dev-server
- supprimer le package de verrouillage.json (si elle existe)
- npm i
- npm start
je ne comprends pas complètement les raisons pour lesquelles cela s'est produit
npm ls webpack
Si vous voyez deux versions de webpack
(sous @angular / cli et la racine node_modules), alors c'est le problème. Supprimer/Renommer le webpack sous @angular/cli
et .bin
dossier @angular/cli
.
Problème résolu pour moi