In this lesson, we’ll make a few small changes to our scripts and add some environment variables that will be used at build time to get our application ready to be deployed to a production environment using the now
service. Once properly configured, we’ll use the now
CLI and publish our application to a production server.
React support .env file by default, add a .env file in the root folder:
REACT_APP_BASE_URL=http://localhost:9001/todos
which just holding our api configuration.
Also create a .env.production file:
REACT_APP_BASE_URL=./todos
Because we want json-server and our ui using the same domain & port, so here we can just use relative path.
To use the variable in .env, we can do:
const baseUrl = process.env.REACT_APP_BASE_URL; export const getTodos = async () => { return await fetch(baseUrl) .then((response) => response.json()); };
Update package.json:
"start": "json-server --static ./build db.json",
"dev": "react-scripts start",
We change the original "start" to "dev".
Because after "build", there will be a "build" folder, so tell json-server to server the build folder and use db.json file a db.
After everything set up, just run:
now