Reputation: 461
I'm setting up a new Vue.JS application using the Vue UI interface.
When I start the application using vue serve src/App.vue
the application starts but it only displays in the page the default Home | About
.
When I inspect the page in the HTML I see:
<noscript>
<strong>We're sorry but basicapp doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
</noscript>
and in the console I see
[Vue warn]: Unknown custom element: <router-link> - did you register the component correctly? For recursive components, make sure to provide the "name" option.
found in
---> <App> at src/App.vue
<Root>
I am working with the basic application created when running the Vue UI
I am working with the basic application created when running the Vue UI
If I run the application using the vue ui
command followed by starting the application from the Vue UI it works.
The reason I want to open the application using the command line is that in Cloud9 where I want to test the application the vue ui starts on localhost and I cannot find a way to open it. The only changes I made to the application files were done only to make the application run inside the Cloud9 container:
changed the package.json
added:
"dev": "webpack-dev-server --inline --progress --port 8080 --host 0.0.0.0 --config vue.config.js --public $C9_HOSTNAME",
created the vue.config.js
and added:
module.exports = {
devServer: {
compress: true,
disableHostCheck: true,
},
}
Upvotes: 30
Views: 153548
Reputation: 1
I think it's really tricky. After several hours searching for the resolution, I found it's a VUE embedded code snippet. Open your vue project and expand public folder, you'll see the code We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue. in index.html. If we delete this code and run the build command, there'll be no such noscript node at all.
Upvotes: 0
Reputation: 589
I was seeing this error because my Vue.js library (axios) was reaching out to '/' which was bringing back HTML/JavaScript and it's not able to render it.
At least that's my theory.
I changed the HTTP location to something valid and the error has gone away.
Upvotes: 0
Reputation: 5106
It was about vue router.js
to me. After commenting out some paths, the site worked.
Turned out the new router that I commented out had the same component as the old route (the one that stopped working):
{
path: '/good_old_route_stopped_working',
name: "DogPage",
component: DogPage
},
{
path: '/bad_new_route_should_be_removed',
name: "DogPage",
component: DogPage
},
Upvotes: 0
Reputation: 11
Check your backend configuration if you are using API. In my case I was using Node.js in backend and the issue was coming from my Node.js config, the server was not sending data in a proper JSON object due to the wrong config I did.
Stop the backend server, and run the Vue.js app, and then check if the message is still showing in your browser.
If the message is missing, then your backend is not well configured.
Upvotes: 0
Reputation: 11
I encountered this question too. But in my case is proxy forwarding went wrong. All of my http request are forwarded through a local proxy,but when proxy matching the request prefix occurs an error that prefix matching failed.
Upvotes: 0
Reputation: 26
Was facing a similar issue. Realised that the issue was with my router object.
const router = createRouter({
history: createWebHistory,
routes: routes
})
The problem here was that I was using the createWebHistory method as a variable, instead of using it as a method i.e. createWebHistory()
const router = createRouter({
history: createWebHistory(),
routes: routes
})
Upvotes: 0
Reputation: 131
Surprisingly, this was solved doing chmod to the root folder.
I used this:
sudo chmod -R 775 path/to/root/folder
Upvotes: 0
Reputation: 39
I have de same problem, but I don' use http://127.0.0.1:8080 I use ip private http://192.168.100.74:8080/ and It's worked!!! note:use your ip
I had problem with my port 8080 or mi ip
Upvotes: 1
Reputation: 11
Vue's build directory, dist, is meant to be served by an HTTP server. Use npm's serve package to serve the folder.
Download using
npm install -g serve
and serve using
serve -s
when in the dist folder or provide path to dist folder
serve -s path/to/dist
Upvotes: 1
Reputation: 416
This occured, when I accidentally set my web directory to the /public
instead of the /dist
directory. After I changed the apps root to point to the /dist
directory in my nginx settings it worked fine.
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name mydomain.com;
root /path/to/my/website/dist;
# other settings below...
}
Upvotes: 3
Reputation: 23
'We're sorry but basicapp doesn't work properly without JavaScript enabled. Please enable it to continue.'
This Message will be shown when you open the Browser without javascript :D when you want to see it you should be disable The Javascript in your Browser
Upvotes: -3
Reputation: 27
Change the port from 8080 to 8081,it worked for me. I opened another program with port 8080.May cause hash conflict
Upvotes: 1
Reputation: 538
After 2.5 days of search I found that the content in index.html ( We're sorry but basicapp doesn't work properly without JavaScript enabled. Please enable it to continue. ) is not an error actually.
It is default text for those browsers in which javascript is not enable so don't worry about this at all.
To run your application in dev mode you can use Yarn serve command. If you want to build your application then use yarn/npm build and configure/use the index.html present in dist folder without any doubt.
Upvotes: 11
Reputation: 461
I found the problem.
To start the application you need to run the command npm run serve
. Works well in the Cloud9 container and also on my local machine.
Upvotes: 0