伊智 cli 工具
安装
yarn add @yzfe/cli --dev
使用
直接使用
npx yzcli add src/components/HelloWorld -c '这是备注'
npm script
{
"scripts": {
"cli": "yzcli"
}
}
yarn cli add src/components/HelloWorld -c '这是备注'
命令
add: 使用预设模板新建文件
可用参数, 使用 yarn cli add -h 查看
添加模板文件到项目中
选项:
--version, -v 显示版本号
--help, -h
--comment, -c 注释
--config cli 配置文件 [默认值: "项目目录中的 .yzcli.js 文件"]
--type, -t 模板类型, 可选的值是模板目录中的文件夹名称[默认值: "component"]
yarn cli add src/components/HelloWorld -c '这是备注'
yarn cli add src/store/modules/member.ts -c '会员 store' -t store
默认模板请看 node_modules/@yzfe/cli/default/tpl
tpl
- component
- {{FileName}}.scss.txt
- {{FileName}}.ts.txt
- {{FileName}}.vue.txt
- index.ts.txt
- store
- {{fileName}}.txt
自定义模板
如果预设的模板不能满足需求,可以使用自定义模板, 需要在项目目录中新建 .yzcli.js
来配置, 模板文件使用 mustache.js
生成的。
文件名也是使用 mustache.js 生成的
module.exports = {
tplPath: '自定义模板存放的目录',
mustache: {
view: data => {
return data
}
},
meta: {
模板名称: {
prompts: [
{
type: 'input',
name: 'name',
message: '请输入名称'
}
],
filter: (filename, data) => {
if (/^views\/About/.test(filename)) {
if (data.answer.name === 'vue-app') {
return false
}
}
return true
}
}
}
}
模板中能使用的数据
export interface DataView extends Types.PlainObject {
type: string
extName: string
filePath: string
fileName: string
FileName: string
distFilePath: string
author: string
version: string
date: string
answer?: Types.PlainObject
}
yarn cli add src/components/HelloWorld -t member-base --custom '任意的参数都可以'
snippet: 生成代码片段
yarn cli snippet -h
yarn cli snippet
yarn cli snippet --type css-var -s 'css 变量文件' -t '生成路径'
yarn cli snippet --type -s '变量文件' -t '生成路径'
变量注释推荐写到变量同一行,这样可以生成到 snippet 中
$color-primary: #2affff;
--color-primary: #2affff;