我刚刚使用命令行(CLI
)初始化了一个Vue.js项目。 CLI
创建了一个src/components
和src/views
文件夹。
我已经几个月没有使用Vue项目了,这个文件夹结构对我来说很新奇。
在使用vue-cli
生成的Vue项目中,views
和components
文件夹有什么区别?
我刚刚使用命令行(CLI
)初始化了一个Vue.js项目。 CLI
创建了一个src/components
和src/views
文件夹。
我已经几个月没有使用Vue项目了,这个文件夹结构对我来说很新奇。
在使用vue-cli
生成的Vue项目中,views
和components
文件夹有什么区别?
src/components
和src/views
都包含Vue组件。<router-view>
组件。这些路由通常位于src/router/routes.js
,其中我们可以看到类似以下内容的内容:import Home from '@/views/Home.vue'
import About from '@/views/About.vue'
export default [
{
path: '/',
name: 'home',
component: Home,
},
{
path: '/about',
name: 'about',
component: About,
},
]
src/components
下的组件不太可能在路由中使用,而位于src/views
下的组件将被至少一个路由使用。
src/router
下,就像this企业样板一样。有些人称其为Pages而不是Views。有些人将所有组件放在同一个文件夹下。
src/components
目录下? - Simon Thiel我认为这更多是一种约定。可重复使用的内容可以放在src/components文件夹中,与路由相关的内容可以放在src/views中。
建议将通常可重复使用的视图放置在src/components
目录中,例如头部、底部、广告、网格或任何自定义控件(如样式文本框或按钮)。一个视图中可以访问一个或多个组件。
视图可以有组件,实际上是通过导航url访问的。它们通常放置在src/views
中。
请记住,您不必受限于通过url访问组件。您可以自由地将任何组件添加到router.js
中并进行访问。但是,如果您打算这样做,建议将其移动到src/views
而不是放置在src/components
中。
组件类似于asp.net web forms中的用户控件。
这只是为了更好的维护和可读性来构造您的代码。
这两个文件夹基本相同,因为它们都包含组件,但Vue的美学在于将功能类似于页面(通过路由进行导航)的组件保存在/views
文件夹中,而像表单字段这样可重复使用的组件则保存在/components
文件夹中。
src/views
通常用于应用程序中通过路由导航的主要页面。
src/components
用于可重复使用的组件,这些组件在您的主要页面中使用(在同一页内多次使用或跨不同页面使用)。
简单来说,视图用于路由,而组件是路由的组成部分。
在我看来,组件文件夹必须包含将要在视图中使用的组件。而在视图中,必须包含那些将由路由器访问的页面。例如,您的页面中有导航栏、页眉和页脚,并且您有登录页面、注册页面和主页面。那么您的src/components必须包含页眉、页脚和导航栏。在您的src/views中必须有像login、signup和main这样的文件。
正如其他人所提到的那样,这很简单:您通常使用视图来实际导航用户想要的页面。组件是这些页面内的元素,您可以在项目的任何页面中重复使用它们。