I have a vuejs app, this app call request on a rest api in nodejs (express, mongoDB atlas), when i run the vuejs app on localhost this work perfectly (the nodejs app is running on a server).
When i deploy my dist folder on the server, i see the app and the display is good, but every request return this message:
We’re sorry but Monthy replay doesn’t work properly without JavaScript
enabled. Please enable it to continue. –default-noscript-error
This message com from the noscript inside index.html (vuejs):
<noscript>
<strong>We're sorry but Monthy replay doesn't work properly without JavaScript enabled. Please
enable it to continue. --default-noscript-error</strong>
</noscript>
I try to:
- Edit the .htaccess
- Update the baseURL inside Axios
- Verify the proxy, and is work in local so it’s good
- Check the api, call directly the api works fine
Now, i really don’t know what i can try .. I don’t get it why the vuejs app works but the request fail with the message from the noscript inside the index.html in vuejs.
Update, still not work:
In vue.config.js
if i change the uri proxy by a dumb uri i see the same error, so something not work like i expect in production with the dist folder i thinks.
2
Answers
The problem is like i say in the tab update on my main post, the proxy exist in development but not in production !!
So, where you use
axios.get(uri)
you can integrate a full uri path like https://mydomain-api.comYou can create a .env file in the main vuejs with a variable:
And for the production create a .env.production:
In you'r axios get just add this:
Now, the request in developement target the localhost and the proxy in vue.config.js is taken. In production (npm run build and folder dist) the
.env.production
is taken and call directly the url.You can have a cross-origin header, to fix that go on you back-end api and add cors.
Example for Nodejs project inside app.js i do:
This occured, when you accidentally set your web directory to the /public instead of the /dist directory. After you changed the apps root to point to the /dist directory in your nginx settings it worked fine.