VueJS 不打开带有“/”路径的主页
VueJS not open home page with "/" route
我想显示一个带有 h1
文本的简单主页,但它不起作用。我配置了路由并将其添加到main.js
。当我浏览到 localhost:8080
时,没有任何显示。我看不出它不起作用的原因。
main.js
import Vue from 'vue'
import App from './App'
import router from './router'
Vue.config.productionTip = false
new Vue({
el: '#app',
router,
components: { App },
template: '<App/>'
})
App.vue
<template>
<div>
<router-view/>
</div>
</template>
<script>
export default {
name: 'App'
}
</script>
Home.vue
<template>
<div>
<h1>Home</h1>
</div>
</template>
<script>
export default {
name: 'home'
}
</script>
/router/index.js
import Vue from 'vue'
import Router from 'vue-router'
import Home from '@/components/Home'
Vue.use(Router)
export default new Router({
mode: 'history',
routes: [
{
path: '/',
name: 'Home',
component: Home
}
]
})
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
<title>client</title>
</head>
<body>
<noscript>
<strong>We're sorry but client doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
</noscript>
<div id="app"></div>
<!-- built files will be auto injected -->
</body>
</html>
@vue/cli
默认仅使用 vue 运行时,而不使用 vue compiler(如果要使用内联模板字符串,则需要编译器)
要解决此问题,您可以 turn on the runtimeCompiler 在您的 vue.config.js
:
module.exports = {
"runtimeCompiler": true
};
或者更改您的代码以改用 render()
函数:
new Vue({
el: '#app',
router,
components: { App },
template: '<App/>'
})
至
new Vue({
router,
render: h => h(App)
}).$mount("#app")
顺便说一下,如果您使用 @vue/cli
,您可以在 vue create
期间选择 Manually select features
。
当您 select Router
作为一项功能时,您将获得一个使用 vue-router
引导的项目,该项目开箱即用。
我想显示一个带有 h1
文本的简单主页,但它不起作用。我配置了路由并将其添加到main.js
。当我浏览到 localhost:8080
时,没有任何显示。我看不出它不起作用的原因。
main.js
import Vue from 'vue'
import App from './App'
import router from './router'
Vue.config.productionTip = false
new Vue({
el: '#app',
router,
components: { App },
template: '<App/>'
})
App.vue
<template>
<div>
<router-view/>
</div>
</template>
<script>
export default {
name: 'App'
}
</script>
Home.vue
<template>
<div>
<h1>Home</h1>
</div>
</template>
<script>
export default {
name: 'home'
}
</script>
/router/index.js
import Vue from 'vue'
import Router from 'vue-router'
import Home from '@/components/Home'
Vue.use(Router)
export default new Router({
mode: 'history',
routes: [
{
path: '/',
name: 'Home',
component: Home
}
]
})
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
<title>client</title>
</head>
<body>
<noscript>
<strong>We're sorry but client doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
</noscript>
<div id="app"></div>
<!-- built files will be auto injected -->
</body>
</html>
@vue/cli
默认仅使用 vue 运行时,而不使用 vue compiler(如果要使用内联模板字符串,则需要编译器)
要解决此问题,您可以 turn on the runtimeCompiler 在您的 vue.config.js
:
module.exports = {
"runtimeCompiler": true
};
或者更改您的代码以改用 render()
函数:
new Vue({
el: '#app',
router,
components: { App },
template: '<App/>'
})
至
new Vue({
router,
render: h => h(App)
}).$mount("#app")
顺便说一下,如果您使用 @vue/cli
,您可以在 vue create
期间选择 Manually select features
。
当您 select Router
作为一项功能时,您将获得一个使用 vue-router
引导的项目,该项目开箱即用。