Vue 3.0 单文件组件 【Vue3 从零开始】
创始人
2024-06-01 00:47:51
0

#介绍

在很多 Vue 项目中,我们使用 app.component 来定义全局组件,紧接着用 app.mount('#app') 在每个页面内指定一个容器元素。

这种方式在很多中小规模的项目中运作的很好,在这些项目里 JavaScript 只被用来加强特定的视图。但当在更复杂的项目中,或者你的前端完全由 JavaScript 驱动的时候,下面这些缺点将变得非常明显:

  • 全局定义 (Global definitions) 强制要求每个 component 中的命名不得重复
  • 字符串模板 (String templates) 缺乏语法高亮,在 HTML 有多行的时候,需要用到丑陋的 \
  • 不支持 CSS (No CSS support) 意味着当 HTML 和 JavaScript 组件化时,CSS 明显被遗漏
  • 没有构建步骤 (No build step) 限制只能使用 HTML 和 ES5 JavaScript,而不能使用预处理器,如 Pug (formerly Jade) 和 Babel

所有这些都可以通过扩展名为 .vue 的 single-file components (单文件组件) 来解决,并且还可以使用 webpack 或 Browserify 等构建工具。

这是一个文件名为 Hello.vue 的简单实例: 

现在我们获得:

  • 完整语法高亮
  • CommonJS 模块
  • 组件作用域的 CSS

正如我们说过的,我们可以使用预处理器来构建简洁和功能更丰富的组件,比如 Pug,Babel (with ES2015 modules),和 Stylus。 

这些特定的语言只是例子,你可以只是简单地使用 Babel,TypeScript,SCSS,PostCSS 或者其他任何能够帮助你提高生产力的预处理器。如果搭配 vue-loader 使用 webpack,它也能为 CSS Modules 提供头等支持。

#怎么看待关注点分离?

一个重要的事情值得注意,关注点分离不等于文件类型分离。在现代 UI 开发中,我们已经发现相比于把代码库分离成三个大的层次并将其相互交织起来,把它们划分为松散耦合的组件再将其组合起来更合理一些。在一个组件里,其模板、逻辑和样式是内部耦合的,并且把他们搭配在一起实际上使得组件更加内聚且更可维护。

即便你不喜欢单文件组件,你仍然可以把 JavaScript、CSS 分离成独立的文件然后做到热重载和预编译。

 

#起步

#例子沙箱

如果你希望深入了解并开始使用单文件组件,请来 CodeSandbox 看看这个简单的 todo 应用。

#针对刚接触 JavaScript 模块开发系统的用户

有了 .vue 组件,我们就进入了高阶 JavaScript 应用领域。如果你没有准备好的话,意味着还需要学会使用一些附加的工具:

  • Node 包管理器 (npm): 阅读 Getting Started guide 中关于如何从注册地 (registry) 获取包的章节。
  • 现代 JavaScript 与 ES2015/16:阅读 Babel 的 Learn ES2015 guide。你不需要立刻记住每一个方法,但是你可以保留这个页面以便后期参考。

在你花一天时间了解这些资源之后,我们建议你参考 Vue CLI。只要遵循指示,你就能很快地运行一个带有 .vue 组件、ES2015、webpack 和热重载 (hot-reloading) 的 Vue 项目!

#针对高阶用户

CLI 会为你搞定大多数工具的配置问题,同时也支持细粒度自定义配置项。

有时你会想从零搭建你自己的构建工具,这时你需要通过 Vue Loader 手动配置 webpack。关于学习更多 webpack 的内容,请查阅其官方文档和 Webpack Academy。

相关内容

热门资讯

谦虚的英语作文带翻译【优选3... 谦虚的英语作文 篇一Title: The Importance of Humility in Lif...
母亲的眼睛英语作文【最新3篇... 母亲的眼睛英语作文 篇一Title: The Eyes of a MotherA mother's ...
关于食物的英语句子【精彩4篇... 关于食物的英语句子 篇一Food plays a crucial role in our daily...
书信英语作文范文高中模板88... 书信英语作文范文高中模板88篇 篇一Dear [收信人的姓名],I hope this letter...
态度决定一切英语作文(优质6... 态度决定一切英语作文 篇一Title: Attitude Determines Everything...
玫瑰花的英语作文(精彩3篇) 玫瑰花的英语作文 篇一:The Beauty and Symbolism of RosesRoses...
最难的英语句子(通用3篇) 最难的英语句子 篇一在学习英语的过程中,有一些句子可能会让学习者感到困惑和挑战。这些句子可能涉及语法...
天津中考英语优秀范文初中【通... 天津中考英语优秀范文初中 篇一标题:The Importance of Learning Engli...
梦想的意义作文400字【精简... 梦想的意义作文400字 篇一梦想的意义每个人都有自己的梦想,无论大小,梦想对于一个人来说都有着深远的...
《三怪客泛舟记》英文读后感(... 《三怪客泛舟记》英文读后感 篇一After reading "The Adventures of t...
健身英语作文【最新6篇】 健身英语作文 篇一:健身的好处健身英语作文 篇二:如何制定健身计划健身英语作文 篇三   Sport...
初中英语作文(精选3篇) 初中英语作文 篇一My Favorite HobbyHobbies are an important...
英语作文Basketball... 英语作文Basketball 篇一Basketball is not just a sport, b...
娱乐活动的英语作文(经典6篇... 娱乐活动的英语作文 篇一Title: The Importance of Participating...
我的梦想英语作文【精彩6篇】 我的梦想英语作文 篇一My DreamEveryone has dreams. Dreams are...
英文寻物启事格式【精彩6篇】 Lost: Black Leather WalletLost on September 15th, ...
袁隆平英语作文(优选5篇) 袁隆平英语作文 篇一The Life and Achievements of Yuan Longpi...
介绍我自己英语作文 介绍我自己英语作文(精选24篇)  无论是身处学校还是步入社会,许多人都有过写作文的经历,对作文都不...
生活中的邮政英语作文【精选3... 生活中的邮政英语作文 篇一The Importance of Postal Services in ...
介绍朋友的英语作文【最新6篇... Introduction of My FriendEssay OneMy Friend LilyI ...