首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将令牌存储在服务器端[角通用]

如何将令牌存储在服务器端[角通用]
EN

Stack Overflow用户
提问于 2017-04-11 16:00:36
回答 1查看 1.3K关注 0票数 1

我找到了这篇文章:https://github.com/angular/universal/issues/272,其中user @gdi2290解释了如何添加该功能

但我的代码中有错误:

/home/master/Documents/rs-dash/dist/server/server.bundle.js:317抛出新错误(“模块构建失败:错误: /home/master/Documents/rs-dash/src/app/app.node.module.ts (97,48):属性‘注入器’在'ApplicationRef'.)\n/home/master/Documents/rs-dash/src/app/app.node.module.ts (97,61)类型上不存在:无法找到名称‘YourServiceWithState’)\n在(/home/master/Documents/universal-cli/packages/@ngtools/webpack/src/loader.ts:115:15)\n at /home/master/Documents/universal-cli/packages/@ngtools/webpack/src/loader.ts:140:17");_checkDiagnostics^

我添加了节点模块:

代码语言:javascript
复制
constructor(public appRef: ApplicationRef) {

    }
    // lives in your node main module
    universalDoDehydrate(universalCache) {
        var yourServiceWithState = this.appRef.injector.get(YourServiceWithState)
        var key = 'yourServiceWithState._state'
        universalCache[key] = yourServiceWithState._state.justOneProp
    }

在浏览器模块中:

代码语言:javascript
复制
constructor(public appRef: ApplicationRef) {
        // lives in your browser main module
        var key = 'yourServiceWithState._state'
        if (UNIVERSAL_CACHE[key]) {
            localStorage[key] = UNIVERSAL_CACHE[key]
        }
    }

如果有人知道问题出在哪里,我正在使用universal-cli

EN

回答 1

Stack Overflow用户

发布于 2017-04-15 12:21:29

我有这个问题,并为它开发了一个缓存&服务器端解决方案(用于服务器和浏览器平台上的缓存操作的4个单独的包)。

检查ng-种子/通用的实现。所有东西都是通过方法/加载器/etc上的@Cached(...)装饰器来处理的,您希望它被缓存。此外,还可以使用缓存API使用缓存方法(hasgetset)。

以下是您需要使用的用于服务器端缓存的包:

  • @ngx-缓存/核心:缓存实用程序
  • @ngx-缓存/平台-浏览器:SPA/浏览器平台实现
  • @ngx-缓存/平台-服务器:服务器平台实现
  • @ngx-缓存/fs-存储:存储实用程序(服务器平台所需)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43350949

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档