相关疑难解决方法(0)

在 Nuxt.js 中的服务器启动时仅运行一次某些代码的最佳方法(而不是在构建期间)

当我为 StackOverflow写这个答案时,我遇到了一个问题,即我想在服务器启动时(或服务器启动时)在 Nuxt.js 中执行一次某些代码。

我想过编写一个模块或插件,但没有成功,因为每次我联系服务器时,即每次调用localhost:3000/myPage时,都会执行这两个模块或插件。可能我缺少正确的模块挂钩或某些插件设置?

由于我在官方文档中找不到有关此问题的任何信息,因此我现在想出了一个相当丑陋的解决方案:我编写了一个服务器中间件,它执行一些代码(应该只运行一次的代码),然后返回一个空处理程序 -现在,这为每个请求增加了(少量)不必要的开销。

我的问题:在启动期间/启动后而不是在构建期间在 Nuxt.js 服务器上执行一次某些代码的最佳方法是什么?


最小的丑陋工作示例

nuxt.config.js:

export default {
  ...
  serverMiddleware: [ "~/serverMiddleware/run-once.js" ]
  ...
}
Run Code Online (Sandbox Code Playgroud)

~/serverMiddleware/run-once.js:

console.log("Yay, I only run once when the server is started!")
// Since we are a serverMiddleware, we have to return a handler, even if this it does nothing
// I think this is really ugly...
export default function (req, res, next) {
  next()
}
Run Code Online (Sandbox Code Playgroud)

PS:我看到诸如Nuxt JS 插件是否可以只运行一次?但它似乎没有回答我的问题,因为 …

javascript vue.js nuxt.js nuxtjs

15
推荐指数
1
解决办法
4566
查看次数

nuxt.js - 如何在服务器端为所有客户端缓存 axios 调用

我正在使用 vue + nuxt.js 应用程序,我想知道是否可以为所有客户端缓存 axios webservice 调用。我必须获得一些货币参考数据,这对于每个客户都必须调用这些数据没有多大意义。

有人可以给我一些提示,甚至是一个例子吗?谢谢。

caching vue.js axios nuxt.js

5
推荐指数
1
解决办法
4642
查看次数

标签 统计

nuxt.js ×2

vue.js ×2

axios ×1

caching ×1

javascript ×1

nuxtjs ×1