项目本地的插件
- 若要在项目中直接访问API,而不需要创建一个完整的插件,在package.json文件中使用
vuePlugins.service
选项:
{
"vuePlugins": {
"service": ["my-commands.js"]
}
}
- 每个文件都需要export一个函数,接受插件API作为第一个参数。
Preset
一个Vue CLI preset是一个包含创建新项目所需要预定义选项和插件的JSON对象,然后用户无需在命令提示中选择她们
在
vue create
过程中保存的preset在home目录下的一个配置文件中(~/.vuerc),这个文件允许修改,调整,添加,删除保存好的preset。
{
"useConfigFiles": true,
"cssPreprocessor": "sass",
"plugins": {
"@vue/cli-plugin-babel": {},
"@vue/cli-plugin-eslint": {
"config": "airbnb",
"lintOn": ["save", "commit"]
},
"@vue/cli-plugin-router": {},
"@vue/cli-plugin-vuex": {}
}
}
- 这些额外的配置将会根据
useConfigFiles
的值被合并到package.json
或相应的配置文件中。例如,当"userConfigFiles": true
时,config的值会被合并到vue.config.js
中
允许插件的命令
每个插件在项目创建的过程中都可以注入它的命令提示,当使用preset时这些命令提示会被跳过,Vue CLI设定所有的插件选项都已经在preset中声明过了。
若希望保留命令提示,可使用"prompts": true来允许注入命令提示
远程Preset
通过发布git repo将一个preset分享给其他开发者,这个repo应包含一下文件:
- preset.json: 包含preset数据的主要文件(必须)
- generator.js: 生成器,用于注入或修改项目文件
- prompts.js: 一个可以通过命令行对话为 generator 收集选项的 prompts 文件
使用一下命令来加载远程仓库的preset
# 从Github repo使用 preset
vue create --preset username/repo my-project
# Gitlab 和BitBucket也是支持的
vue create --preset gitlab:username/repo --clone my-project
vue create --preset bitbucket:username/repo --clone my-project
# 私有服务器
vue create --preset gitlab:my-gitlab-server.com:group/projectname --clone my-project
vue create --preset direct:ssh://git@my-gitlab-server.com/group/projectname.git --clone my-project
加载文件系统中的Preset
- 若
preset
选项的值是一个相对或绝对文件路径,或是以.json结尾,则Vue CLI会加载本地的preset:
# ./my-preset 应当是一个包含 preset.json 的文件夹
vue create --preset ./my-preset my-project
# 或者,直接使用当前工作目录下的 json 文件:
vue create --preset my-preset.json my-project