How to Run Ionic React App after Building it - reactjs

My packages.json file has the following scripts:
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
}
I perform a build with: npm run build
The result goes into the folder ./build where the dir hierarchy is as follows:
- assets
- static
- assets-manifest.json
- index.html
- manifest.json
- service-worker.js
- service-worker.js.map
If I'm in the build dir, how can I run the app? npm run start doesn't work because it looks for packages.json.
Ionic serve doesn't either since under the hood it still uses npm.
How can I run the app after it's built?

Related

Solution for running REACT web app on (visual studio)code-server behind the proxy situation

When we develop web app with VS code-server, the default method to preview the result URL is
http://{yoursite}/proxy/3000
However, it does not work with react development.
When we follow the official tutorial to start a react app, all the static resources inside the html template always redirected to the index.html
e.g index.html is returned instead of /static/js/bundle.js
To resolve this problem, in the project root directory, open:
package.json
In script block,change the start property
from:
"start": "react-scripts start"
to
"start" : "PUBLIC_URL='/absproxy/3000' react-scripts start"
:
"scripts": {
"start": "PUBLIC_URL='/absproxy/3000/' react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
}
This is also written in below documentation.
https://coder.com/docs/code-server/latest/guide#stripping-proxyport-from-the-request-path
for those who has an another app running on port 3000, just simply do these little steps:
optional:
export PORT=3001
and then add in package.json
"scripts": {
"start": "PUBLIC_URL='/absproxy/3001/' react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
}
if you are running a Nextjs App you should do provide a basePath:
go to next.confing.js file and just add this line of code:
basePath:"/absproxy/3002"

Refresh current page automatically when script changes

In recent react app I install nodemon globally and modified package.json to add dev command like this:
"scripts": {
"start": "react-scripts start",
"dev": "nodemon ./app.js",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
I start the app like this npm run dev but problem in any changes the development server start again opening new tab. How I make only current tab refreshed ?
Why not simply use npm start?
react-scripts start sets up the development environment and starts a server, as well as hot module reloading. Read more here.

Blank page on create-react-app when deploy to netlify

I'm trying to deploy create-react-app(which is currently on github) to netlify. after it deployed it shows a blank page.
Netlify configurations i have added:
build command: yarn build,
Publish directory: build
and this is my scripts on package.json
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject",
"predeploy": "npm run build",
"deploy": "gh-pages -d build"
},
I was getting blank page only on mobile devices after deploying on Netlify. It worked after I removed REDUX DEVTOOLS EXTENSION from Redux store.

how to configure a react app for production

I want to deploy my react app to production (using heroku). When the app is deployed, React dev tools indicates that my app is running in development mode
I pushed the application to heroku : https://lesamisdhubert.herokuapp.com/
I tried to set an environment variable :
heroku config:set NODE_ENV=production
however, when I console.log(process.env.NODE_ENV), It returns development
I also tried npm run build before pushing to production but it hasn't worked
here are my scripts in the package.json file :
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
however console.log('node env --->', process.env.NODE_ENV); returns 'development'
Does anybody knows how I can set my react app into production mode ? Is this a problem with npm run build ?
Thanks a lot, I really don't understand where this can come from ...
I replaced in package.json :
"scripts": {
"dev": "react-scripts start",
"start": "serve -s build",
"build": "react-scripts build",
"test": "react-scripts test --env=jsdom",
"eject": "react-scripts eject",
"heroku-postbuild": "npm run build"
}
I also created a new heroku app and it seems to work
When configuring enviroment vars in heroku you have to append REACT_APP_VARIABLENAME and then set its value otherwise you can't have access to the env variable.
take a look at: https://github.com/mars/create-react-app-buildpack#compile-time-configuration
you can do this in the heroku client

How do I make styling and fonts work on Heroku

I've got a node project with a create-react-app project in a folder called client.
It's setup on Heroku and deploys and works (functionaly) using git push heroku master but none of the styling is active and it's using the wrong fonts.
It all works on localhost.
In the project package.json I have
"heroku-postbuild": "cd client && npm install && npm run build"
and in client package.json
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
Cannot find anything wrong in Heroku setup or logs, or any documentation, at a bit of a loss where to start even looking
Included the css file in index.html

Resources