मैं अपने ऐप को कोणीय 2.1.2 से कोणीय 5.0.0 तक अपग्रेड कर रहा हूं। और यह त्रुटि हो रही है।
त्रुटि: StaticInjectorError [InjectionToken DocumentToken]: n StaticInjectorError [InjectionToken DocumentToken]: n
NullInjectorError: InjectionToken DocumentToken! N के लिए कोई प्रदाता नहीं
NullInjectorError: InjectionToken DocumentToken! N के लिए कोई प्रदाता नहीं
_NullInjector पर।प्राप्त (/Users/temp/Documents/GitHub/sample-app/node_modules/@angular/core/bundles/core.umd.js:962:19)n इस पर समाधान करें (/Users/temp/Documents/GitHub/sample-app/node_modules/@angular/core/bundles/core.umd.js:1250:24)n tryResolveToken पर (/Users/temp/Documents/GitHub/sample-app/node_modules/@angular/core/bundles/core.umd.js:1192:16)n StaticInjector.get पर (/Users/temp/Documents/GitHub/sample-app/node_modules/@angular/core/bundles/core.umd.js:1063:20)n इस पर समाधान करें (/Users/temp/Documents/GitHub/sample-app/node_modules/@angular/core/bundles/core.umd.js:1250:24)n tryResolveToken पर (/Users/temp/Documents/GitHub/sample-app/node_modules/@angular/core/bundles/core.umd.js:1192:16)n StaticInjector.get पर (/Users/temp/Documents/GitHub/sample-app/node_modules/@angular/core/bundles/core.umd.js:1063:20)n atNNMMuleuleDep (/Users/temp/Documents/GitHub/sample-app/node_modules/@angular/core/bundles/core.umd.js:10623:25)n _callFactory पर (/Users/temp/Documents/GitHub/sample-app/node_modules/@angular/core/bundles/core.umd.js:10693:32)n _createProviderInstance $ 1 में (/Users/temp/Documents/GitHub/sample-app/node_modules/@angular/core/bundles/core.umd.js:10637:26) ",
यह एक कोणीय सीएलआई ऐप नहीं है, इसलिए मैंने इस मुद्दे के न्यूनतम प्रजनन के लिए एक रेपो बनाया है। कृपया निम्नलिखित देखें संपर्क
देखें README.md
एप्लिकेशन के निर्माण और सेवा के लिए।
वेबपैक का उपयोग करना: 3.11.0 इस ऐप को बनाने के लिए। मुद्दे को समझने में सक्षम नहीं है।
उत्तर:
जवाब के लिए 0 № 1यहाँ मुद्दा यह है कि आपका सर्वर index.js
बंडल में शामिल है @angular/core
कोड। इसका मतलब है कि जब आप कोड चलाते हैं तो आपके पास दो अलग-अलग कार्य होते हैं InjectionToken
इसके दो अलग-अलग उदाहरण हैं DocumentToken
.
संभावित सुधार को बदलना है externals
में विकल्प
webpack.config.json
export var serverConfig = {
...
externals: includeClientPackages(
/@angularclass|@angular|angular2-|.....
),
externals: angularExternals(),
...
}
...
export function angularExternals() {
return function (context, request, callback) {
if (request.startsWith("@angular/")) {
return callback(null, {
root: ["ng", request.replace(/^@angular//, "")],
commonjs: request,
commonjs2: request,
amd: request
});
}
callback();
};
}
उसके बाद index.js बंडल जीता "t से डुप्लिकेट कोड होते हैं @angular/core
ताकि कोणीय सफलतापूर्वक निर्भरता का समाधान कर सकेगा।