使用vue-router时,标准设置为
main.js需要routes.js文件,该文件看起来像这样
//routes.js
import Register from './components/Register'
import Login from './components/Login'
module.exports = [{
path: `/`,
component: Login,
}, {
path: `/register`,
component: Register,
}]
我的问题是为什么我只能做
//routes.js
module.exports = [{
path: `/`,
component: require('./components/Login'),
}, {
path: `/register`,
component: require('./components/Register'),
}]
尝试时,出现此控制台错误
Vue warn]: Failed to mount component: template or render function not defined.
found in
---> <Anonymous>
<App> at src/App.vue
<Root>
答案 0 :(得分:-1)
**导入和要求的工作方式有所不同,请参见下面的链接,其中有关于该主题的优质文档。 ** es6 features 和require how Actually Works **请参阅文档,了解节点js在模块下如何工作。模块如何工作。nodejs设计模式是什么(节点js如何在立即调用的函数表达式中包装我们的代码并将代码传递到v8引擎中)
您可以简单地简化您的route.js文件
component :()=> import('./ components / Register.vue')或 组件:require('./ components / Login.vue')。default
两者都可以
[{path:'/',component :()=> import('./ components / Register.vue')}, {path:'/ register',component:require('./ components / Login.vue')。default}];