1 Star 0 Fork 4

恋轩 / create-mini-quick

forked from 轩小浅 / create-quick 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

create-mini-quick

约定代替编码,更灵活、迅速的脚手架搭建工具(mini版)

文档网站(暂无)  


介绍

create-mini-quick是 create-quick最小化demo


快速上手

第一步:clone本仓库:

git clone https://gitee.com/lianxuan7/create-quick.git

第二步:安装依赖和测试:

# 安装依赖
npm i # pnpm i

# 打包文件
npm run build

# 运行脚手架
node outfile.cjs
  • templates文件夹里面的第一层为模板名,例如:templates/vue3、templates/nest
  • 模板名里面有着三个文件夹,分别是baseoptionsejs(可通过配置变量自定义命名)
  • options文件夹里面的各种选项里面的文件目录需要跟base目录一一对应
  • options里面的package.json会和base的package.json进行合并,其他文件全是替换
  • options里面的ejsData.js为参数变量,用于给ejs模板引擎渲染的,该文件也不会添加到base里(可通过配置变量自定义命名)
  • ejs文件夹为模板引擎,里面的文件目录也是和base目录一一对应,例如:main.ts.ejs文件名最终合并到base里面的名字为main.ts,也会覆盖base

第三步:使用者只需要关心根目录下的templatesData.json询问数据和template模板文件夹即可:

查看templates文件夹下面有两个文件夹uniapp-vue3vue3,它们分别是不同的项目模板,我们找到vue3模板来介绍:

vue3文件夹下面有三个文件夹baseejsoptions,它们分别是基础项目、引入配置、项目选项

base我们就不需要介绍了,它是一个项目的最基本架构,必不可少

ejs是什么呢?举个例子:我们vue3项目有可选配置pinia/vue-router,它们如果需要使用是不是需要在main.ts文件中引入?对,ejs文件夹就是这样的一个作用,我们使用了ejs模板引擎进行渲染:

// main.ts.ejs
<%- importList -%>
import { createApp } from 'vue'
import App from './App.vue'

import '@/style/reset.css'

const app = createApp(App)

<%- useList -%>

app.mount('#app')

options文件夹就是可选的配置,里面的目录结构需要和base文件夹一一对应,里面除了package.json是和base合并,其他都是覆盖。值得一提的是options文件夹下面还可以有一个config-text.js文件,这个是什么呢?这个就是ejs的数据,也不会添加到base目录

// config-text.js

module.exports = {
    descripts: 'pinia',
    importList: `import pinia from '@/store/index' \n`,
    useList: `app.use(pinia) \n`,
    callback(traget, config) {	// 当前options复制之后会调用这个函数
        console.log(traget)
        console.log(config)
    }
}

templateData.json是询问需要的数据:

// templatesData.json
{
  "vue3": {
    "title": "vue3 + vue-router",
    "options": [
      {
        "title": "pinia状态管理",
        "value": "pinia"
      },
      {
        "title": "prettier格式化",
        "value": "prettier"
      },
      {
        "title": "vue-router路由",
        "value": "vue-router"
      }
    ]
  },
  "uniapp-vue3": {
    "title": "uniapp的vue3版本",
    "options": []
  }
}

快速上手

前往最小化demo仓库 create-mini-quick


疑问交流

QQ群: qian-cli(746382337)

MIT License Copyright (c) 2023 轩小浅 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

约定代替编码的脚手架搭建工具 展开 收起
NodeJS
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
NodeJS
1
https://gitee.com/lianxuan7/create-quick.git
git@gitee.com:lianxuan7/create-quick.git
lianxuan7
create-quick
create-mini-quick
master

搜索帮助