Vue-cli 3 安装使用&结构改造

关于旧版本:

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 为例

原文件页面

修改配置后的文件

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,236评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,867评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,715评论 0 340
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,899评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,895评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,733评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,085评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,722评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,025评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,696评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,816评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,447评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,057评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,009评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,254评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,204评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,561评论 2 343

推荐阅读更多精彩内容