关于旧版本:
Vue CLI 的包名称由 vue-cli 改成了 @vue/cli。 如果你已经全局安装了旧版本的 vue-cli(1.x 或 2.x),你需要先通过 npm uninstall vue-cli -g 或 yarn global remove vue-cli 卸载它。
Node 版本要求:
Vue CLI 需要 Node.js 8.9 或更高版本 (推荐 8.11.0+)。你可以使用 nvm 或 nvm-windows 在同一台电脑中管理多个 Node 版本。
安装
可以使用下列任一命令安装
npm install -g @vue/cli
yarn global add @vue/cli
安装之后,命令行中访问 vue 命令。来验证它是否安装成功。
看看是否展示出了一份所有可用命令的帮助信息:
检查其版本是否正确 (3.x):
vue --version 或 vue -V
创建项目
vue create
1、在终端运行以下命令来创建一个新项目:
vue create project-name
命令解析:
vue create:项目创建命令
project-name:你的项目名称,根据你的需要填写
2、提示选取一个 preset(预设)。
1、default 默认的包含了基本的 Babel + ESLint 设置,快速创建一个新项目的原型
2、Manually “手动选择特性” 提供了更多的选项,它们是面向生产的项目更加需要的。
3、选择Manually 根据需要选择特性(按空格键选择 选择完毕回车即可)
Manually “手动选择特性”:
Babel:支持 Babel编译器
TypeScript:支持使用 TypeScript 书写源码。(非 TypeScript 项目不要选择)
Progressive Web App (PWA) Support:PWA 支持。
Router:支持 vue 路由
Vuex: 支持 vue 状态管理
CSS Pre-processors:CSS预处理程序
Linter / Formatter:支持代码风格检查和格式化。
Unit Testing:支持单元测试。(非大型项目不建议使用)
E2E Testing:支持 E2E 测试。(非大型项目不建议使用)
5、前几项询问回车默认即可,到选择一个CSS预处理程序,跟据个人情况选择,我选择的是 LESS
6、代码风格检查和格式化
根据公司及个人情况选择,因为我用 TS 开发,这里选择了TSLint
7、选择语法检查方式
第一个是保存检测,第二个是fix和commit的时候检测
我选的保存就检测
8、单元测试(非大型项目不建议使用)
我选择了Mocha
9、配置文件存放位置
第一个是独立文件,第二个是在package.json文件里
放在独立文件内,后期容易维护。
不建议放在package.json文件内。
10、是否记录这一次的配置,以便下次使用,根据个人情况选择
如果选择保存这次配置,会让你给保存的配置起一个名字
11、回车确定等待下载
12、安装好后,根据命令提示,启动项目
项目编译完成,在浏览器输入红框内任一地址打开项目
保存的预设位置
~/.vuerc
被保存的 preset 将会存在用户的 home 目录下一个名为 .vuerc 的 JSON 文件里。如果你想要修改被保存的 preset / 选项,可以编辑这个文件。
vue create 帮助命令
vue create --help
用法:create [options] <app-name>
创建一个由 `vue-cli-service` 提供支持的新项目
选项:
-p, --preset <presetName> 忽略提示符并使用已保存的或远程的预设选项
-d, --default 忽略提示符并使用默认预设选项
-i, --inlinePreset <json> 忽略提示符并使用内联的 JSON 字符串预设选项
-m, --packageManager <command> 在安装依赖时使用指定的 npm 客户端
-r, --registry <url> 在安装依赖时使用指定的 npm registry
-g, --git [message] 强制 / 跳过 git 初始化,并可选的指定初始化提交信息
-n, --no-git 跳过 git 初始化
-f, --force 覆写目标目录可能存在的配置
-c, --clone 使用 git clone 获取远程预设选项
-x, --proxy 使用指定的代理创建项目
-b, --bare 创建项目时省略默认组件中的新手指导信息
-h, --help 输出使用帮助信息
注:
vue-cli3 脚手架搭建完成后,项目目录中没有 vue.config.js 文件,需要手动创建,请查阅 vue.config.js 配置。
结构改造
项目安装完成后的目录结构
为了更好地满足业务开发的要求,参考大佬的分享做了结构改造:
上面的项目结构把各个模块拆分的比较细致,便于项目的迭代和维护,同时方便了分模块开发的需求,通过views文件夹维护各自的页面逻辑,公共的方法和路由配置都交给单独的文件夹模块来负责
.d.ts文件
所有的.d.ts文件放到了types文件夹中统一维护
.d.ts文件是用于告诉typescript什么文件可用ts来解析或者某些引入的模块的接口结构
shims-vue.d.ts这个文件,主要用于TypeScript识别.vue文件,Ts默认并不支持导入vue文件,这个文件告诉ts导入.vue文件都按VueConstructor<Vue>处理,因此导入vue文件必须写.vue后缀。
shims-tsx.d.ts文件,这个文件主要是方便你使用在ts中使用jsx语法,前提是需要用vue render function从而在渲染函数中使用jsx来用上ts的静态类型提示。
router 配置
原路由页面
将路由路径分开配置便于管理
在router文件中添加 routerConfig.ts 文件,将所有路径迁移至 routerConfig.ts 文件中,并引入 RouteConfig
注:记得修改 .vue 文件路径
将 router.ts 文件内的路径删除,引入 routerConfig.ts 文件,赋值给 routes
修改 .vue 文件配置
以 Home.vue 为例
原文件页面
修改配置后的文件