」
这个适配器可以让Astro将你的SSR站点部署到德诺目标.
学着如何在我们的星座上部署 Deno部署指南。 。 。 .
为什么是Astro Deno
如果你把Astro当作一个静态的站点建造者.
如果你愿意的话 使用服务器侧渲染( SSR),Astro需要一个匹配您的部署运行时间的适配器.
德诺 是一个类似于节点的运行时间,但有一个更类似于浏览器的API的API. 这个适配器提供了对德诺的API的访问,并创建了脚本来在德诺服务器上运行您的项目.
安装
添加 Deno 适配器, 在您的 Astro 项目中启用 SSR 如下 astro add 命令。 这将安装适配器并对您的 astro.config.mjs 以步骤存档.
# Using NPM
npx astro add deno
# Using Yarn
yarn astro add deno
# Using PNPM
pnpm astro add deno
如果您宁愿手动安装适配器,请完成以下两个步骤:
-
使用您首选的软件包管理器安装项目依赖的 Deno 适配器 。 如果您使用 npm 或不确定, 请在终端运行 :
npm install @astrojs/deno -
更新您的
astro.config.mjs以下更改的项目配置文件.// astro.config.mjs import { defineConfig } from 'astro/config'; import deno from '@astrojs/deno'; export default defineConfig({ output: 'server', adapter: deno(), });
下一个,更新您的 preview 脚本在 package.json 要运行 deno数字 :
// package.json
{
// ...
"scripts": {
"dev": "astro dev",
"start": "astro dev",
"build": "astro build",
"preview": "deno run --allow-net --allow-read --allow-env ./dist/server/entry.mjs"
}
}
您现在可以使用此命令在本地预览您的生产 Astro 站点 .
npm run preview
使用量
之后 执行构建 将有一个 dist/server/entry.mjs 模块。 您可以在您的 Deno 应用程序中导入此模块来启动服务器 :
import './dist/server/entry.mjs';
见 start 选项,用于您如何对启动 Astro 服务器拥有更多的控制.
您也可以直接使用 deno 运行脚本 :
deno run --allow-net --allow-read --allow-env ./dist/server/entry.mjs
配置
要配置此适配器, 将对象传递到 deno() 函数调用 astro.config.mjs。 。 。 .
// astro.config.mjs
import { defineConfig } from 'astro/config';
import deno from '@astrojs/deno';
export default defineConfig({
output: 'server',
adapter: deno({
//options go here
}),
});
开始
此适配器在导入时会自动启动服务器 。 你可以关掉这个 start 选项 :
import { defineConfig } from 'astro/config';
import deno from '@astrojs/deno';
export default defineConfig({
output: 'server',
adapter: deno({
start: false,
}),
});
如果您禁用此功能, 您需要写入您的 Deno 网络服务器 。 导入和呼叫 handle 从生成的条目脚本中获取请求:
import { serve } from 'https://deno.land/[email protected]/http/server.ts';
import { handle } from './dist/server/entry.mjs';
serve((req: Request) => {
// Check the request, maybe do static file handling here.
return handle(req);
});
端口和主机名称
您可以设置端口( 默认 ): 8085)和主机名(默认: 0.0.0.0)用于 deno 服务器. 若为 start 错误, 这没有效果; 您的服务器必须配置端口和主机名 .
import { defineConfig } from 'astro/config';
import deno from '@astrojs/deno';
export default defineConfig({
output: 'server',
adapter: deno({
port: 8081,
hostname: 'myhost',
}),
});
实例
这个 Astro 德诺 实例包括: preview 命令直接运行条目脚本。 运行 npm run build 接下来 npm run preview 运行生产 deno 服务器.
解决问题
帮我看看 #support 频道打开 解析器我们友好的支援队成员来帮忙!
你也可以检查我们 Astro 集成文档 更多关于融合.
捐款
这个包由Astro的核心团队维护. 欢迎你提交一个问题或公关!
更改日志
见 变动情况 以了解这种融合的变化历史.