Use the following commands to quickly start a Remix v2 app with a basic Express server:
- CommonJS + server.js:
npx create-remix --template https://github.com/xHomu/remix-v2-server/tree/cjs-server.js
- CommonJS + server.ts:
npx create-remix --template https://github.com/xHomu/remix-v2-server/tree/cjs-server.ts
- ES Modules + server.js:
npx create-remix --template https://github.com/xHomu/remix-v2-server/tree/esm-server.js
- ES Modules + server.ts:
npx create-remix --template https://github.com/xHomu/remix-v2-server/tree/cjs-server.ts
If updating from a v1 Remix app, the following files probably needs to be adjusted:
- package.json
- remix.config.js
- tsconfig.json
- server.ts or server.js
What changes will depend on whether your repo is ESM/CJS, and whether you're using a typescript or javascript server:
For more on Remix v2 dev server, check these talks by @pcattori Pedro Cattori!
Start the Remix development asset server and the Express server by running:
npm run dev
This starts your app in development mode, which will purge the server require cache when Remix rebuilds assets so you don't need a process manager restarting the express server.
First, build your app for production:
npm run build
Then run the app in production mode:
npm start
Now you'll need to pick a host to deploy it to.
If you're familiar with deploying express applications you should be right at home just make sure to deploy the output of remix build
server.js
build/
public/build/
When you ran npx create-remix@latest
there were a few choices for hosting. You can run that again to create a new project, then copy over your app/
folder to the new project that's pre-configured for your target server.
cd ..
# create a new project, and pick a pre-configured host
npx create-remix@latest
cd my-new-remix-app
# remove the new project's app (not the old one!)
rm -rf app
# copy your app over
cp -R ../my-old-remix-app/app app