Fork me on GitHub

-Vue- 组件化开发

一:单文件组件

1 简介

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

这种方式在很多中小规模的项目中运作的很好,在这些项目里 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

2 Hello.vue 的简单实例:

现在我们获得:

  • 完整语法高亮
  • CommonJS 模块
  • 组件作用域的 CSS
  • 正如我们说过的,我们可以使用预处理器来构建简洁和功能更丰富的组件,比如 Pug,Babel (with ES2015 modules),和 Stylus。

这些特定的语言只是例子,你可以只是简单地使用 Babel,TypeScript,SCSS,PostCSS - 或者其他任何能够帮助你提高生产力的预处理器

如果搭配 vue-loader 使用 webpack,它也能为 CSS Modules 提供头等支持

二:环境准备

1 Node.js

① Node.js 介绍

Node.js是一个新的后端(后台)语言,它的语法和JavaScript类似,所以可以说它是属于前端的后端语言

实质上,就是一个安装在操作系统之上的js解释器

后端语言和前端语言的区别:
  • 运行环境:后端语言一般运行在服务器端;前端语言运行在客户端的浏览器上
  • 功能:后端语言可以操作文件,可以读写数据库;前端语言不能操作文件,不能读写数据库

② 下载

官网:https://nodejs.org/en/

2个分支
  • LTS:Long-Time Support,长期支持版本(推荐使用这个,比较稳定)
  • Current:当前最新版(不推荐使用,想尝试新功能的可以试一试)

③ 安装

  • 一直下一步即可,可以自定义安装路径
  • 环境变量会自动添加

④ 查看版本

安装完成后,可以通过下面查看命令的版本来测试Node.js是否安装成功

arther_wan@arther-wandeMacBook-Pro ~ % node -v
v14.15.3

2 npm

① npm 介绍

  • npm = node package manager
  • Node.js在安装完成后,在Node.js中会同时帮我们安装一个包管理器npm
  • 可以借助npm命令进行node插件的管理(包括安装、卸载、管理依赖等)
  • 这个工具相当于Python的pip管理器

② npm 版本查看

arther_wan@arther-wandeMacBook-Pro ~ % npm -v
6.14.9

③ npm的默认安装位置


④ npm 常用选项

选项 释义
-g global 全局安装
-registry= 指定镜像仓库安装

⑤ npm 常用命令

npm install -g [包名]              # 安装模块   -g表示全局安装,如果没有-g,则表示在当前项目安装
npm list                           # 查看当前目录下已安装的node包
npm view [包名] engines            # 查看包所依赖的Node的版本 
npm outdated                       # 检查包是否已经过时,命令会列出所有已过时的包
npm update [包名]                  # 更新node包
npm uninstall [包名]               # 卸载node包
npm [命令] -h                      # 查看指定命令的帮助文档
npm cache clean --force              # 清空缓存处理
npm run lint                     # 自动格式化代码

3 cnpm

① cnpm 介绍

  • 支持所有 npm 命令
  • 因为npm安装插件是从国外服务器下载,受网络的影响比较大,可能会出现异常
  • 如果npm的服务器在中国就好了,所以我们乐于分享的淘宝团队干了这事
  • 来自官网:这是一个完整 npmjs.org 镜像,你可以用此代替官方版本(只读),同步频率目前为 10分钟 一次以保证尽量与官方服务同步
  • 总结:cnpm 是中国 npm 镜像的客户端

② cnpm 安装

arther_wan@arther-wandeMacBook-Pro / % sudo npm install cnpm -g --registry=https://registry.npm.taobao.org

# 需要sudo 权限

③ npm 版本查看

arther_wan@arther-wandeMacBook-Pro / % cnpm -v
cnpm@6.1.1 (/usr/local/lib/node_modules/cnpm/lib/parse_argv.js)

④ npm 常用选项

选项 释义
-g global 全局安装
-registry= 指定镜像仓库安装

④ cnpm常用命令

cnpm install -g [包名]              # 安装模块   -g表示全局安装,如果没有-g,则表示在当前项目安装
cnpm list                          # 查看当前目录下已安装的node包
cnpm view [包名] engines            # 查看包所依赖的Node的版本 
cnpm outdated                      # 检查包是否已经过时,命令会列出所有已过时的包
cnpm update [包名]                  # 更新node包
cnpm uninstall [包名]               # 卸载node包
cnpm [命令] -h                      # 查看指定命令的帮助文档
cnpm cache clean --force           # 清空缓存处理

三:Vue-CLI 脚手架

Vue-CLI分为新版本和老版本

1 介绍

Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统,提供了:

① 通过 @vue/cli 实现的交互式的项目脚手架
② 通过 @vue/cli + @vue/cli-service-global 实现的零配置原型开发
③ 一个运行时依赖 (@vue/cli-service),该依赖:
  • 可升级
  • 基于 webpack 构建,并带有合理的默认配置
  • 可以通过项目内的配置文件进行配置
  • 可以通过插件进行扩展
④ 一个丰富的官方插件集合,集成了前端生态中最好的工具
⑤ 一套完全图形化的创建和管理 Vue.js 项目的用户界面

2 安装 Vue-CLI

① 安装 @vue/cli

# 旧版(现已无法安装)
# cnpm install vue-cli -g

# 新版
cnpm install -g @vue/cli

② 测试是否安装成功,查看版本

arther_wan@arther-wandeMacBook-Pro / % vue --version
@vue/cli 4.5.9

3 创建Vue项目 - 命令行(推荐)

① 切换到要创建项目的路径

arther_wan@arther-wandeMacBook-Pro Desktop % mkdir test
arther_wan@arther-wandeMacBook-Pro Desktop % cd test

② 创建项目

arther_wan@arther-wandeMacBook-Pro test % vue create 001
posted @ 2020-12-21 21:52  artherwan  阅读(100)  评论(0编辑  收藏  举报