核心
CLI(@vue/cli):是一个全局安装的npm包
提供命令:vue vue create //快速创建新项目的脚手架 vue serve //构建新想法的原型 vue ui //图形化界面
CLI服务(@vue/cli-service):是一个局部安装的npm包,是一个开发环境依赖包
//构建于 webpack 和 webpack-dev-server 之上,包含: 1、加载其它CLI插件的核心服务 2、优化过的内部的webpack配置 3、提供命令:serve、build、inspect
CLI插件(@vue-cli-plugin-[内建插件] 或 vue-cli-plugin-[社区插件]):提供可选功能的npm包
//在项目内部运行 vue-cli-service 命令时,自动解析并加载 package.json 中的所有CLI插件 vue add [插件名称]
CLI(@vue/cli)
需要额外安装全局扩展 @vue/cli-serivce-global
//vue命令可以对 单个*.vue文件进行快速原型开发 vue serve [options] [entry] 会在当前目录自动推导入口文件(入口文件可以是:main.js、index.js、App.vue、app.vue中的一个),也可以自定义入口文件 vue build [options] [entry] 生成一个用于部署的生产环境的包
如果要使用旧版本(vue-cli2):全局安装一个桥接工具
npm install -g @vue/cli-init
CLI插件
插件能修改webpack的内部配置,也可以向vue-cli-service注入命令
vue add @vue/eslint //会解析为完整的包名 @vue/cli-plugin-eslint //等价于 vue add @vue/cli-plugin-eslint
如果插件不带 @vue,则会安装第三方插件
vue add apollo //安装并调用 vue-cli-plugin-apollo
vue invoke [插件名称] //如果插件已安装,则跳过安装过程,只调用生成器
插件与package.json的设置
{ "vuePlugins": { "resolveFrom": ".config",//加载其它package.json里的插件,如有个文件:.config/package.json "service":["my-commands.js"],//直接访问插件API,不需要创建完整插件 "ui":["my-ui.js"]//添加像UI插件一样工作的文件 } }
CLI Preset
在使用 vue create 创建项目的过程中,保存的preset会放在home目录下的 .vuerc 配置文件中
{ "useConfigFiles": true, "plugins": { "@vue/cli-plugin-eslint":{ "version":"^3.0.0",//插件版本管理 "prompts":true//在项目创建时,插件安装允许注入命令提示 } }, //可以为集成工具添加配置 //根据 useConfigFiles 的值,configs的配置会被合并到 package.json或相应的配置文件中 //如:useConfigFiles值为true时,configs的值会被合并到vue.config.js中 "configs": { "vue": {...}, "postcss": {...}, "eslintConfig": {...}, "jest": {...} } }
使用远程Preset
vue create --preset [远程插件名称] [项目名称] //如 vue create --preset username/repo my-project //从私有repo获取,确保使用 --clone vue create --preset gitlab:username/repo --clone my-project vue create --preset bitbucket:username/repo --clone my-project
加载本地Preset
// ./my-preset 应当是一个包含 preset.json 的文件夹 vue create --preset ./my-preset my-project //或者,直接使用当前工作目录下的 json 文件: vue create --preset my-preset.json my-project
CLI服务
@vue/cli-service
安装了一个名为 vue-cli-service
的命令
vue-cli-service serve [options] [entry]//启动服务 vue-cli-service build [options] [entry|]//生成用于生产环境的包 vue-cli-service inspect [options] [...paths] //审查项目的webpack config
启动服务的多种方式:
./node_modules/.bin/vue-cli-service //终端直接调用 npx vue-cli-service serve //npx直接调用
来源:https://www.cnblogs.com/adhehe/p/10184795.html