Angular 5 Upgrade NullInjectorError: No provider for InjectionToken LocaleId
Angular 5 Upgrade NullInjectorError: No provider for InjectionToken LocaleId
我有一个 Angular 4 应用程序,我已使用 CLI 1.5.4 升级到 Angular 5。我还有一个使用 npm link 的共享库。升级后,我必须将其添加到我的 tsconfig.app.json 以再次构建 CLI:
"include": [
"./**/*.ts",
"../node_modules/my-lib/src/**/*.ts",
"../node_modules/my-lib/index.ts",
"../node_modules/my-lib/ng2-icad-cf.ts"
],
构建成功后,访问localhost:4200
时出现以下错误
NullInjectorError: No provider for InjectionToken LocaleId!
我在我的项目中找不到任何对 LOCALE / LocaleId 的引用。我怀疑 linked 库可能是问题所在,因为我对 Http 有相同的 NullIjectorError(库使用 Http,项目使用 HttpClient)但是在将 HttpClient 添加到库的主模块后它已经消失了,即使在恢复和恢复之后删除它...很奇怪。
我遇到了同样的问题。
首先,请确保将 "peerDependencies" 用于您的模块所依赖的任何 Angular 库,如下所述:https://github.com/angular/angular-cli/issues/3854#issuecomment-274344771
然后尝试 运行/通过将 --preserve-symlinks 传递给 Angular CLI 来构建应用程序。例如:
ng serve --preserve-symlinks
有关详细信息,请参阅 https://github.com/angular/angular-cli/issues/8677#issuecomment-347885068。
此外,这可能会有所帮助:https://github.com/angular/angular-cli/wiki/stories-linked-library
在测试文件中导入 LOCALE_ID 模块,然后导出为 GLOBAL_PROVIDER。
import { LOCALE_ID } from '@angular/core';
export const GLOBAL_PROVIDER = [
{ provide: LOCALE_ID, useValue: 'en'}
];
我有一个 Angular 4 应用程序,我已使用 CLI 1.5.4 升级到 Angular 5。我还有一个使用 npm link 的共享库。升级后,我必须将其添加到我的 tsconfig.app.json 以再次构建 CLI:
"include": [
"./**/*.ts",
"../node_modules/my-lib/src/**/*.ts",
"../node_modules/my-lib/index.ts",
"../node_modules/my-lib/ng2-icad-cf.ts"
],
构建成功后,访问localhost:4200
时出现以下错误NullInjectorError: No provider for InjectionToken LocaleId!
我在我的项目中找不到任何对 LOCALE / LocaleId 的引用。我怀疑 linked 库可能是问题所在,因为我对 Http 有相同的 NullIjectorError(库使用 Http,项目使用 HttpClient)但是在将 HttpClient 添加到库的主模块后它已经消失了,即使在恢复和恢复之后删除它...很奇怪。
我遇到了同样的问题。
首先,请确保将 "peerDependencies" 用于您的模块所依赖的任何 Angular 库,如下所述:https://github.com/angular/angular-cli/issues/3854#issuecomment-274344771
然后尝试 运行/通过将 --preserve-symlinks 传递给 Angular CLI 来构建应用程序。例如:
ng serve --preserve-symlinks
有关详细信息,请参阅 https://github.com/angular/angular-cli/issues/8677#issuecomment-347885068。
此外,这可能会有所帮助:https://github.com/angular/angular-cli/wiki/stories-linked-library
在测试文件中导入 LOCALE_ID 模块,然后导出为 GLOBAL_PROVIDER。
import { LOCALE_ID } from '@angular/core';
export const GLOBAL_PROVIDER = [
{ provide: LOCALE_ID, useValue: 'en'}
];