我正在使用一些旧模块:angular-2-local-storage
。
它被实例化的方式如下:
const LOCAL_STORAGE_SERVICE_CONFIG_TOKEN: string = 'LOCAL_STORAGE_SERVICE_CONFIG';
export const LOCAL_STORAGE_SERVICE_CONFIG = new OpaqueToken(LOCAL_STORAGE_SERVICE_CONFIG_TOKEN);
...还有我的代码:
@NgModule({
.....
providers: [
LocalStorageService,
{
provide: LOCAL_STORAGE_SERVICE_CONFIG,
useValue: { prefix: 'miswap' }
},
{
但在构建我的项目时,我收到了这个:
错误:静态解析符号值时遇到错误。只能初始化变量和常量,因为模板编译器需要此变量的值(原始.ts文件中的位置2:22),解析符号LOCAL_STORAGE_SERVICE_CONFIG .... < / p>
这是我完全迷失的地方。
此问题看起来像OpaqueToken弃用mentioned here。但是,我的项目是Angular 2,而不是4。
那么,我会错过什么吗?这是因为某些角度cli版本错了吗?甚至不知道在哪里找到解决方案!
这可能是我的package.json
的一部分,如果这可能会有所帮助:
"devDependencies": {
"@angular/compiler-cli": "^2.0.0",
"@angular/platform-server": "2.0.0",
"@angular/tsc-wrapped": "0.3.0",
"@types/async": "2.0.31",
"@types/core-js": "0.9.32",
答案 0 :(得分:0)
只是一个想法:
提供之前LOCAL_STORAGE_SERVICE_CONFIG
的价值是多少?在宣布console.log(LOCAL_STORAGE_SERVICE_CONFIG)
之前尝试@NgModule
。如果是undefined
,您要么没有正确导入它,所以缺少值,要么new OpaqueToken()
出现问题 - OpaqueToken是否未定义?