「Vuejs」一步步看vue-cli4(基础4插件和 Preset)

插件

  • vuecli为了方便我们开发以及方便安装包为我们提供了插件的概念,
  • Vue CLI 使用了一套基于插件的架构。如果你查阅一个新创建项目的 package.json,就会发现依赖都是以 @vue/cli-plugin- 开头的。插件可以修改 webpack 的内部配置,也可以向 vue-cli-service 注入命令。在项目创建的过程中,绝大部分列出的特性都是通过插件来实现的。当然如果感兴趣的可以看一下官网提供的如何自定义的编写一个插件,这里暂且不赘述
  • 之前我们在通过命令行或者vue ui安装的vue依赖其实就是插件,下面我们看一下package.json文件


    image.png

我们可以看到,devDependencies中开发环境用到的插件全部都是以@vue/cli-plugin-开头的,那么如何安装一个插件呢?

安装插件

每个 CLI 插件都会包含一个 (用来创建文件的) 生成器和一个 (用来调整 webpack 核心配置和注入命令的) 运行时插件。当你使用 vue create 来创建一个新项目的时候,有些插件会根据你选择的特性被预安装好。如果你想在一个已经被创建好的项目中安装一个插件,可以使用 vue add 命令:

  • 我们可以通过命令安装
    • vue add [插件名] ,例如vue add eslint即可安装,这个命令将 @vue/eslint 解析为完整的包名 @vue/cli-plugin-eslint,然后从 npm 安装它,调用它的生成器

vue add 的设计意图是为了安装和调用 Vue CLI 插件。这不意味着替换掉普通的 npm 包。对于这些普通的 npm 包,你仍然需要选用包管理器。

  • 还可以传递参数例如:vue add eslint --config airbnb --lintOn save
  • 如果一个插件已经被安装,你可以使用 vue invoke 命令跳过安装过程,只调用它的生成器。这个命令会接受和 vue add 相同的参数。

如果出于一些原因你的插件列在了该项目之外的其它 package.json 文件里,你可以在自己项目的 package.json 里设置 vuePlugins.resolveFrom 选项指向包含其它 package.json 的文件夹。

例如,如果你有一个 .config/package.json 文件:

{
  "vuePlugins": {
    "resolveFrom": ".config"
  }
}
  • 如果本地想引用一个插件,我们需要在packjson.json中加入vuePlugins.service如下代码
{
  "vuePlugins": {
    "service": ["my-commands.js"]
  }
}
  • 如果添加UI插件
{
  "vuePlugins": {
    "ui": ["my-ui.js"]
  }
}

总结一下,其实我们安装vuecli提供的插件主要目的其实是vuecli帮助我们做了从npm安装包以及自动帮我们初始化配置了一些参数设置,这样省去了我们手动安装npm所需要的第三方包然后单独去配置第三方包设置相关的繁琐事情。

通过vue ui去查找vue这些提供给我们的插件

如图:


image.png
image.png

这里面就可以看到所有的插件,我们可以搜索查找我们想要的插件,单选,就可以再右下角进行安装了

例如我们安装一个element-ui


image.png
image.png

安装完以后他会跳转到配置插件的页面,这里就赘述了,每个插件都是不一样的,这里就是大概配置vuecli是否帮我们引入element,初始化配置哪些东西,我们可以根据自己的需要选择,不选择进行安装就好了,后续我们可以自己手动在文件里面配置

image.png
image.png

安装完成以后我们就可以在插件里面看到我们安装的element-ui了

插件和依赖的区别?

有人会问了插件和依赖什么区别呢?

  • 其实很简单,插件主要是在通过npm安装包的同时,vuecli通过插件帮我们内部配置了一下默认的配置项,我们可以省去默认配置,
  • 依赖呢就是我们具体安装的包是什么

Preset

  • 有的人一看到英文,大家都有点蒙,Preset是个啥?其实很简单,就是我们安装的时候选择预设,vuecli可以通过自己配置个性化的方式配置自己的预设
    就是下面这里,还记得不~


    image.png
  • 如何自定义呢?

    • 在 vue create 过程中保存的 preset 会被放在你的 home 目录下的一个配置文件中 (~/.vuerc)。你可以通过直接编辑这个文件来调整、添加、删除保存好的 preset。官方说的是linux下边的home目录哦,windows要去C盘找哦


      image.png

来看一看里面的东东


image.png

这里面就是我们之前创建项目中保存的预设,这里面就有啦,我们可以修改这个json文件来修改我们的预设,具体的配置我们就多赘述了,官方文档里面写的很全,想要深入了解的可以看一下

我觉得预设这个东西,主要是创建项目的时候会用到,用到的不是很频繁,我们可以通过他提供远程的预设方式共享给其他开发者,但是我觉得用处并不是很大,不是很重要,真正创建项目的机会也不是很多,在企业里面主要是维护多个项目很久,如果有新的项目要起也是之前有搭建好的模板,下载下来install一下就用了,仅凭个人观点,感兴趣的可以深入研究一下这个哦~

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