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!
Welcome to Remix!
Development
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.
Deployment
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.
DIY
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/
Using a Template
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