小编Luk*_*uke的帖子

JsRender - 检查嵌套值是否为null

想象一下,在webapp的标题内显示用户的jsrender名称和姓氏.我传递给模板一个对象是"用户"对象.然后在模板中,我显示{{name}}和{{surname}}.但是,如果"User"对象为null或未确定,我如何检查内部模板?我只能检查姓名或姓氏是否为空(或空).

检查空值的正确方法是什么?例如,对象'Order'与另一个嵌套对象'Shipping'具有'id'和'name'属性.Shippinig对象存在且不为null,但其属性为null.

如果我使用"{{如果shipping.id}}"模板我总是得到这个错误:{错误:类型错误:无法读取属性空的"身份证"}这似乎航运为空,即使它是不

当返回的对象为null时(例如,当搜索没有返回结果时),这也应该是有用的,并且我想显示模板而不是另一个

谢谢

jsrender

2
推荐指数
1
解决办法
5280
查看次数

如何在 Angular Universal 中配置缓存

我按照教程将 Universal 集成到我们的 Angular 9 应用程序中。现在我们已经配置了 server.ts。

在每个教程中我都会看到:

// Example Express Rest API endpoints
// app.get('/api/**', (req, res) => { });
Run Code Online (Sandbox Code Playgroud)

进而:

server.get(
        '*.*',
        express.static(distFolder, {
            maxAge: '1y',
        })
    );
Run Code Online (Sandbox Code Playgroud)

如果我们像这样保留它,我想每个请求都会被缓存,/api 的内容也会被缓存。这是正确的吗?我们的应用程序有很多“产品页面”,其中库存和价格可能会经常变化。因此,我们需要始终拥有新鲜的库存和价格。因此,我不会缓存从“/api/”路径(或https://api.my-app.com “,如果需要绝对路径)中的 API 调用返回的服务器数据。保留所有内容如果我没记错的话,上面写的应该缓存所有内容。我做了一个测试,直接在数据库中更改价格,我希望看到旧的价格,但事实并非如此,我总是看到新鲜的。所以我怀疑是缓存机制不起作用。而且当我浏览组件时,我继续看到每个 api 调用(未缓存)

有人可以更好地解释一下这个机制吗?

另一个问题是:如果缓存有效,如何在节点中清除它?节点将所有内容缓存在内存中。我认为当我们停止节点时缓存会被清除。这是正确的吗?

这是我的包 json:

"scripts": {
    "ng": "node --max_old_space_size=8192 node_modules/@angular/cli/bin/ng",
    "start": "npm run ng -- serve",
    "serve:server": "node ./dist-server/main.js",
    "serve:server:debug": "node --inspect ./dist-server/main.js",
    "start:server": "npm run build:server && node ./dist-server/main.js",
    "start:server:debug": "npm run build:server && node ./dist-server/main.js --inspect",
    "build": "npm run ng …
Run Code Online (Sandbox Code Playgroud)

caching node.js angular-universal angular

2
推荐指数
1
解决办法
1万
查看次数

标签 统计

angular ×1

angular-universal ×1

caching ×1

jsrender ×1

node.js ×1