小编mcc*_*una的帖子

NextJs 中间件:使用默认运行时而不是 Edge 运行时

默认情况下,NextJs 中间件使用 Edge 运行时运行,据我了解,这是因为中间件应该在边缘网络而不是主服务器上运行(在边缘网络上运行会减少延迟,因此这提供了改进)某些场景下的性能)。

这样做的缺点是 Edge 运行时在可以运行的内容方面存在一些限制(在此处列出)。

我的问题是:有没有办法让中间件使用默认运行时而不是 Edge 运行时运行?

在我的情况下,我们没有在边缘托管任何东西,因此边缘运行时对我们施加了一些限制,但没有提供任何好处。一种可能的解决方法是使用自定义中间件而不是 NextJs 中间件,但除非这是唯一的选择,否则我宁愿使用 NextJs 中间件架构和管道,而不是构建我们自己的中间件。

Ps:我们正在使用 NextJs 12.1.6latest撰写此问题时的版本)

middleware next.js

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

如何在本地运行 SvelteKit 和 Cloudflare Page?

我正在尝试使用 SvelteKit 和 Cloudflare Pages 创建一个新应用程序,但我正在努力以正确的方式在本地运行该应用程序。目前,为了让应用程序在本地运行,我在 2 个不同的终端中运行 2 个脚本:

  1. vite build --watch
    • 这会cloudflare.svelte-kit目录中创建目录
    • vite dev似乎没有创建cloudflare目录,所以我用过vite build
  2. wrangler pages dev .svelte-kit/cloudflare --live-reload
    • 这会启动应用程序

上述方法有效,即它按预期启动应用程序。问题是,我对代码所做的任何更改都会在 3-4 秒后在浏览器选项卡中可见,从 DX 的角度来看,这远远不能让人享受。理想情况下,在本地运行时,任何代码更改都应该在 1 秒左右的时间内在浏览器选项卡中可见。

这是我第一次修改 SvelteKit 和 Cloudflare Pages,所以我确信我错过了一些东西。因此,问题是:应该如何“以正确的方式”在本地运行 SvelteKit 和 Cloudflare Pages 应用程序?“正确的方式”意味着我可以在 1 秒左右看到代码更改的效果,并且我可以使用类似wrangler或 的东西在本地运行应用程序miniflare,以使本地环境尽可能类似于生产环境。

Ps:我检查过https://developers.cloudflare.com/pages/framework-guides/deploy-a-svelte-site/https://www.npmjs.com/package/@sveltejs/adapter-等文档cloudflare, readme.md但他们主要关注如何在生产中运行应用程序Pps:我相信这两个脚本可以使用并发
之类的东西合并为一个脚本,但目前我的重点是在代码更改时获得快速反馈 Ppps:捆绑和修改 javascript 模块本身并不是我的强项之一,所以如果您有任何有用的文章,我们非常欢迎

svelte vite sveltekit cloudflare-pages

6
推荐指数
1
解决办法
1568
查看次数

Miragejs 种子函数未调用

我正在尝试设置 Miragejs 服务器,但由于某种原因,该seeds函数未被调用。routes调用另一个服务器函数并正确映射路由。

export default function makeServer({ environment = 'test' } = {}) {
  return new Server({
    environment,

    models: {
      user: Model,
      diary: Model,
    },

    seeds(server) {
      debugger; // not hit
      seedUsers(server);
      seedDiaries(server);
    },

    routes() {
      debugger; // hit
      this.namespace = 'api';
      this.get('/users', (schema) => schema.users.all());
      this.get('/diaries', (schema) => {
        debugger; // hit
        schema.diaries.all();
      });
    },
  });
}
Run Code Online (Sandbox Code Playgroud)

我已尝试复制粘贴提供的示例,但该seeds方法仍然没有被调用。

miragejs 包作为开发包安装,使用的版本是 0.1.40。该makeServer函数在 index.jsx 文件中调用如下:

if (process.env.NODE_ENV === 'development') {
  makeServer(); …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs miragejs

3
推荐指数
1
解决办法
361
查看次数