generate-custom-template-cli
v1.0.1
Published
自定义模板生成CLI工具
Readme
generate-custom-template-cli: 一个帮助你快速搭建和开发前端项目的 CLI
1.如何安装?
npm install generate-custom-template-cli -g2.创建项目
gnt create your_project_name会自动拉取项目模板、安装项目依赖、打开浏览器 http://localhost:8888/、自动启动项目
3.其它功能
3.1 创建组件:
gnt addcpn YourComponentName # 例如gnt add NavBar,默认会存放到src/components文件夹中
gnt addcpn YourComponentName -d src/pages/home # 也可以指定存放的具体文件夹3.2 创建页面,并配置路由
gnt addpage YourPageName # 例如gnt addpage Home,默认会放到src/pages/home/Home.vue中,并且会创建src/page/home/router.js
gnt addpage YourPageName -d src/views # 也可以指定文件夹,但需要手动集成路由为什么会创建 router.js 文件:
router.js文件是路由的其中一个配置;- 创建该文件中
src/router/index.js中会自动加载到路由的routes配置中,不需要手动配置了(如果是自己配置的文件夹需要手动配置)
src/router/index.js中已经完成如下操作:
// 动态加载pages中所有的路由文件
const files = require.context("@/pages", true, /router\.js$/);
const routes = files.keys().map((key) => {
const page = require("@/pages" + key.replace(".", ""));
return page.default;
});3.3 创建状态管理子模块
gnt addstore YourVuexChildModuleName # 例如gnt addstore home,默认会放到src/store/modules/home/index.js和types.js
gnt addstore YourVuexChildModuleName -d src/vuex/modules # 也可以指定文件夹创建完成后,不需要手动配置,已经动态将所有子模块集成进去:
// 动态加载modules
const modules = {};
const files = require.context("./", true, /index\.js$/);
files
.keys()
.filter((key) => {
if (key === "./index.js") return false;
return true;
})
.map((key) => {
// 获取名字
const modulePath = key.replace("./modules/", "");
const moduleName = modulePath.replace("/index.js", "");
const module = require(`${key}`);
modules[`${moduleName}`] = module.default;
});