Reputation: 3247
Trying to deploy create-react-app on netlify, however my build is blank page. I'm using .env file for loading firebase api key is that a problem for build?
Even when I tried to open it locally on my computer its blank page and it outputs an error in console: "Loading failed for the with source “file:///event-app/static/js/main.108757a0.js”"
package.json: https://gist.github.com/Verthon/f82371ad2bb636b2e95c5b7697aa0bb5
➜ event-app git:(master) ✗ npm run build
> [email protected] build /home/jurr/Projects/event-app
> node scripts/build.js
Creating an optimized production build...
Compiled with warnings.
./src/components/Router.js
Line 12: 'withFirebase' is defined but never used no-unused-vars
./src/components/Firebase.js
Line 21: 'Firebase' is defined but never used no-unused-vars
Search for the keywords to learn more about each warning.
To ignore, add // eslint-disable-next-line to the line before.
File sizes after gzip:
282.86 KB build/static/js/main.108757a0.js
3.1 KB build/static/css/main.8e671453.css
Upvotes: 86
Views: 184756
Reputation: 1
For me, Browser Router worked.
I was actually using Hash Router before, and I switched to browser router and it worked like a charm. The local and build both worked perfectly.
Upvotes: 0
Reputation: 27
Add "homepage": "."
in your package.json
file. This resolved my problem of blank page.
{
"name": "reactpractice",
"homepage": ".",
...
}
Upvotes: -1
Reputation: 65614
import '//css/Popup.css';
It gives no error unless you call a black screen of death an error.
Specify the path properly or better yet move it out of a component to be referenced in the index.js.
Upvotes: 0
Reputation: 129
I installed react-outer-dom using
npm i react-router-dom
and deactivated my VPN. It's now working.
Upvotes: 0
Reputation: 1154
Working solution for React
with typescript
is to add "homepage": "."
in package.json
{
"name": "todo-app",
"version": "0.1.0",
"private": true,
"dependencies": {
},
"scripts": {
},
"eslintConfig": {
},
"browserslist": {
},
"homepage": "."
}
now build the Application with npm run build
and open the production html
file.
Upvotes: 0
Reputation: 80
I had a black screen when i was trying to map an undefined property
importing_file.js
<MediaImage />
imported_file.js
export const MediaImage = props => {
console.log("areas", props.areas)
return (
<div className={props.className} id={props.id}>
<img src="../../favicon-flat.png" alt="Workplace" useMap={"#mapa"+props.id}/>
<map name={'element'props.id}>
{props.areas.map(m=>{} )}
</map>
</div>)
}**
Upvotes: 0
Reputation: 21
I solved it. It happened to me after deploying to GitHub page.
It is working to local but after deployment it is opening the blank page.
Problem is we changed the homepage path. So We need to update paths which are in our code.
If I give an example with my case, I added homepage into the "package.json" file something like:
"homepage": "https://[YourGitHubAccountName].github.io/[YourProjectName]"
So after adding this, app doesn't work because The paths which are inside of my code need to be change.
For example:
'/' paths should become '/[YourProjectName]' or
'/test' should become '/[YourProjectName]/test'
Upvotes: 0
Reputation: 21
If it's in the root folder you can use homepage
"homepage":"."
in package.json
if it's in any other folder like https://example.com/admin
you can use
"homepage":"https://example.com/admin"
Upvotes: 2
Reputation: 439
i had the same problem and it was because i was importing useContext wrong
Upvotes: 0
Reputation: 9
simply change the private property value in your package.json to false
Upvotes: -1
Reputation: 3247
I solved the problem by setting
"homepage": "."
in package.json
according to this doc
Upvotes: 143
Reputation: 5745
Just as @Verthon said putting the "homepage": ".",
in your package.json file, in the top level like this:
{
"name": "myApp",
"homepage": ".",
// all other package.json stuff...
}
Upvotes: 20
Reputation: 9
So the problem is with the caching of your app in the browser.
I have solved this problem with serviceWorker()
in create-react-app
.
Here is the solution: Just add this in you index.js
file and remove service worker register
import { unregister } from './registerServiceWorker';
unregister();
Upvotes: -2
Reputation: 692
I had a comment inside my return
method and this caused the problem for me.
If the error message in the browser console is
Minified React error #152;
Then removing any comment inside the return
method might solve your problem as it did mine.
Upvotes: 1
Reputation: 1368
I faced similar issue. But if you follow React-Deployment, correctly, you will realise that there is a "homepage":"." // User "." if you are deploying on your local machine, but on a server hosted somewhere you can use your domain or ip address the homepage field.
{
"homepage":"https://example.com"
}
Upvotes: 0
Reputation: 815
For me the issue was the inline runtime script was not being run as I was getting the error:
Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'self'". Either the 'unsafe-inline' keyword, a hash ('sha256-5='), or a nonce ('nonce-...') is required to enable inline execution.
This was fixed by adding the INLINE_RUNTIME_CHUNK=false
variable to the build script.
"build": "INLINE_RUNTIME_CHUNK=false react-scripts build",
This is because of the Content Security Policy of browsers: "A CSP compatible browser will then only execute scripts loaded in source files received from those allowlisted domains, ignoring all other script (including inline scripts and event-handling HTML attributes)."
Upvotes: 0
Reputation: 1322
Oooor as I just found out that I had done again and again: You published the public folder instead of the build folder.
Upvotes: 18
Reputation: 852
I was trying to open the application after build with double-clicking the index.html and didn't work either, I got the blank page but if the built files are run in a server environment works. https://create-react-app.dev/docs/deployment/
Upvotes: -3
Reputation: 4161
If you're using react-router
and trying to open index.html
directly in the browser (or using electron, which essentially does that), in addition to setting homepage
as others have suggested, replace your BrowserRouter
with a HashRouter
.
I was trying to build an electron app using create-react-app. When running in development everything was fine, but when I built the CRA and then pointed the electron app to the index.html
file, I got the blank page.
I found that that was exactly the same as opening the index.html
file directly in the browser. Everyone says "set homepage
in package.json
", but I already had that. So what now!?
I eventually figured out that the problem was react-router
. I was using a BrowserRouter
. Switching to a HashRouter
solved the problem for me.
Upvotes: 94
Reputation: 9
Run npm run eject
Edit file webpack.config in the config folder
Find path with "static/" or "static/js/" or "static/css/" in the file and delete such path
Build your project again
This work for me. hope this works for you, too.
Upvotes: -8