我只是使用命令行 ( CLI
) 来初始化一个 Vue.js 项目。CLI
创建了一个和src/components
文件src/views
夹。
自从我使用 Vue 项目以来已经有几个月了,文件夹结构对我来说似乎是新的。
生成的 Vue 项目中的views
和文件夹有什么区别?components
vue-cli
首先,两个文件夹src/components
和src/views
都包含 Vue 组件。
关键区别在于一些 Vue 组件充当路由的视图。
在 Vue 中处理路由时,通常使用Vue Router,定义路由是为了切换组件中使用的当前视图<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
将被至少一条路线使用。
Vue CLI 旨在成为 Vue 生态系统的标准工具基线。它确保各种构建工具与合理的默认值一起顺利工作,因此您可以专注于编写应用程序,而不是花费数天时间与配置争吵。同时,它仍然可以灵活地调整每个工具的配置,而无需弹出。
Vue CLI 旨在快速开发 Vue.js,它使事情变得简单并提供了灵活性。它的目标是使不同技能水平的团队能够建立一个新项目并开始。
归根结底,这是一个方便和应用程序结构的问题。
src/router
有些人喜欢
把他们的 Views 文件夹放在这个企业样板文件下面。我认为它更像是一种约定。可重用的东西可以保存在 src/components 文件夹中 与路由器相关的东西可以保存在 src/views 中
一般可重复使用的视图建议放在src/components
目录中。页眉、页脚、广告、网格或任何自定义控件(如样式文本框或按钮)等示例。可以在视图中访问一个或多个组件。
视图可以包含组件,并且视图实际上旨在通过导航 url 访问。它们一般放置在src/views
.
请记住,您不受限制通过 url 访问组件。您可以自由地将任何组件添加到router.js
并访问它。但是,如果您打算这样做,您可以将其移动到 asrc/views
而不是放置在src/components
.
组件是类似于 asp.net 网络表单的用户控件。
它只是为了更好的维护和可读性构建你的代码。
两个文件夹基本相同,因为它们都包含组件,但 Vue 的美学在于将用作页面的组件(路由到类似页面进行导航)保存在/views
文件夹中,而可重用组件(如表单字段)保存在/components
文件夹中.
src/views
通常用于您通过路由器导航的应用程序中的主页。
src/components
用于您在主页面内使用的可重用组件(在同一页面内或跨不同页面多次)
您可以考虑像页面和组件这样的视图是可重用的代码块,您可以在任何页面或组件中使用(两者都是 Vue 文件,这些术语仅用于演示)
接近静态页面的较少动态被引用到视图,而更多可重用和动态内容被放置在组件下。
很简单,视图用于路由,而组件是路由的组件。
正如其他人所提到的,这非常简单:您通常将视图用于希望用户导航的实际页面。组件是那些页面中的元素,您可以在项目的任何页面中重用它们。
这两个文件夹都包含 Vue 组件,“views”文件夹应该包含将导入其他组件的根级组件。所谓的“其他组件”位于“组件”文件夹中。我们举一个例子来说明。
假设您的网站 yourname.com 有 3 个根级页面
您的“视图”文件夹将包含 3 个组件。“about.vue”、“index.vue”和“price.vue”。这些文件将被导入到你的路由文件中,或者可以直接导入到 app.vue 文件中进行路由。这些视图内部可能有多个组件,例如“price-card.vue”、“contact-card.vue”等。这些文件通常位于名为“组件”的文件夹中。您可以在“views”文件夹中的 vue 文件中导入这些组件,然后渲染它们。
在我看来,组件文件夹必须包含将在视图中使用的组件。在视图中,必须有路由器要访问的那些页面。例如,您的页面中有一个导航栏、页眉和页脚要使用,并且您有一个登录页面、注册页面和一个主页。然后你的 src/components 必须包含页眉、页脚和导航栏。在您的 src/views 中必须有诸如登录、注册和主文件之类的文件。