我正在使用一些旧模块: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 ....
这是我完全迷失的地方。
该问题看起来像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",
只是一个想法:LOCAL_STORAGE_SERVICE_CONFIG
在提供它之前有什么价值?在宣布console.log(LOCAL_STORAGE_SERVICE_CONFIG)
之前尝试@NgModule
。如果它的undefined
,你要么没有正确导入它,所以缺少值,或者new OpaqueToken()
有问题 - 是不是OpaqueToken?