我有一个带有 SSR 渲染的 Astro 项目。
export default defineConfig({
output: "server",
adapter: node({
mode: "standalone"
})
});
运行
npm run build
时,服务器输出到./dist/server/entry.mjs
。
我正在尝试找到某种方法将依赖项捆绑到服务器文件中,以便服务器文件夹能够独立工作,而无需放置在 node_modules
文件夹旁边。类似于 esbuild 为节点打包。
是的,我知道这是服务器代码,您不必捆绑代码。但我有我的理由!
我找到了解决办法。您可以通过 Astro 配置将配置传递给 Vite。设置
vite.ssr.noExternal: true
将捆绑所有依赖项。
import { defineConfig } from 'astro/config';
import node from "@astrojs/node";
export default defineConfig({
output: "server",
adapter: node({
mode: "standalone"
}),
vite: {
ssr: {
noExternal: true
}
}
});