Migration to vike-photon
Guide to migrate from vike-server
to vike-photon
.
See also:
1. Update dependencies
- npm
- pnpm
- yarn
npm uninstall vike-server
npm i vike-photon vike@latest
vike-photon
requiresvike >= 0.4.239
2. Update scripts
// package.json
{
"scripts": {
"dev": "vike dev",
"build": "vike build",
"prod": "NODE_ENV=production node dist/server/index.js"
"prod": "node ./dist/server/index.mjs"
}
}
3. Update +config.js
// pages/+config.js
import vikeServer from 'vike-server/config'
import vikePhoton from 'vike-photon/config'
export default {
extends: [
// ...
vikeServer,
vikePhoton
],
server: 'server/index.js',
photon: {
server: 'server/index.js'
}
}
// pages/+config.ts
import type { Config } from 'vike/types'
import vikeServer from 'vike-server/config'
import vikePhoton from 'vike-photon/config'
export default {
extends: [
// ...
vikeServer,
vikePhoton
],
server: 'server/index.ts',
photon: {
server: 'server/index.ts'
}
} satisfies Config
4. Update server entry
- Hono
- Express.js
- Fastify
- H3
- Elysia
- npm
- pnpm
- yarn
npm i @photonjs/hono
// server/index.js
import { Hono } from 'hono'
import { apply } from 'vike-server/hono'
import { serve } from 'vike-server/hono/serve'
import { apply, serve } from '@photonjs/hono'
// ...
// server/index.ts
import { Hono } from 'hono'
import { apply } from 'vike-server/hono'
import { serve } from 'vike-server/hono/serve'
import { apply, serve } from '@photonjs/hono'
// ...
5a. Replace vike-cloudflare
This step is only required if you use
vike-cloudflare
.
- npm
- pnpm
- yarn
npm uninstall vike-cloudflare
npm i @photonjs/cloudflare
// pages/+config.js
import vikeCloudflare from 'vike-cloudflare/config'
export default {
extends: [
// ...
vikeCloudflare
]
}
// pages/+config.ts
import vikeCloudflare from 'vike-cloudflare/config'
export default {
extends: [
// ...
vikeCloudflare
]
}
Photon automatically uses
@photonjs/cloudflare
if it's listed in yourpackage.json
dependencies. No additional steps are required.
See also: Deploy > Cloudflare.
5b. Replace vite-plugin-vercel
This step is only required if you use
vite-plugin-vercel
.
- npm
- pnpm
- yarn
npm uninstall vite-plugin-vercel
npm i @photonjs/vercel
// vite.config.js
import vercel from 'vite-plugin-vercel'
export default {
vercel: {
// ...
}
}
// vite.config.ts
import vercel from "vite-plugin-vercel";
export default {
vercel: {
// ...
},
};
Photon automatically uses
@photonjs/vercel
if it's listed in yourpackage.json
dependencies. No additional steps are required.
See also: Deploy > Vercel.