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-photonrequiresvike >= 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 Config4. 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/cloudflareif it's listed in yourpackage.jsondependencies. 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/vercelif it's listed in yourpackage.jsondependencies. No additional steps are required.
See also: Deploy > Vercel.