当前位置: 首页 > news >正文

uniapp使用命令创建页面

package.js下创建命令

"scripts": {"add": "node ./auto/addPage.ts"
}

package.js同级目录创建auto/addPage.ts

addPage.ts代码如下

const fs = require('fs')
const path = require('path')
const targetPath = process.argv[2];// 要创建的目录地址和文件名
const args = targetPath.split('/');
const targetParent = args.slice(-2, -1)[0]; //创建路径的父文件夹
const targetName = args.slice(-1)[0]; //创建的文件名
const targetFileName = process.argv[3]; // 要创建的文件中文名
const root = process.argv[4]; // 要创建的文件中文名
let targetFullParentPath, targetFullPath;
if (root) {targetFullParentPath = `./src/${root}/` + targetParent; //完整的父文件夹路径targetFullPath = `./src/${root}/` + targetPath + '.nvue'; //完整的文件路径
} else {targetFullParentPath = './src/pages/' + targetParent; //完整的父文件夹路径targetFullPath = './src/pages/' + targetPath + '.nvue'; //完整的文件路径
}/*检测指定目录下指定文件夹/文件是否存在*/
let isExist = function (path) {return fs.existsSync(path);
}const newPages = {name: targetName,title: targetFileName,path: targetFullParentPath
}!user_pages.includes(i.name));// 添加新路由
function addPages(pages) {if (isExist(targetFullParentPath) && isExist(targetFullPath)) { //存在文件夹console.log("已存在文件夹" + targetParent+ "且存在文件" + targetName)} else {const { name, title, path } = pages;const dirPath = `${path}`;if (!isExist(targetFullParentPath)) {fs.mkdirSync(dirPath);}const filePath = `${dirPath}/${name}.nvue`;const createStream = fs.createWriteStream(filePath);const template = `<script setup lang="ts" ></script><template><view>${title}</view></template><style scoped></style>`;createStream.write(template);createStream.end();console.log('\x1B[34m', `pages ${name} created successfully.`);}
}addPages(newPages);

至此就可以愉快的使用命令创建页面啦

http://www.lryc.cn/news/125866.html

相关文章:

  • Linux(进程控制)
  • Java学习笔记——(18)进制介绍
  • 【数学建模】--灰色关联分析
  • 图像像素梯度
  • [论文笔记]Batch Normalization
  • SpringCloud教程(中)
  • 蓝帽杯2022
  • vue + el-table 表格数据导出为excel表格
  • ClickHouse(二十):Clickhouse SQL DDL操作-2-分区表DDL操作
  • Springboot 在 redis 中使用 Guava 布隆过滤器机制
  • Docker本地镜像发布到阿里云
  • Postgresql源码(112)plpgsql执行sql时变量何时替换为值
  • OhemCrossEntropyLoss
  • prometheusalert区分告警到不同钉钉群
  • AUTOSAR规范与ECU软件开发(实践篇)3.2 ETAS AUTOSAR系统解决方案介绍(上)
  • 【leetcode】第三章 哈希表part02
  • 【C语言】memset()函数
  • C++中重载(overload)、重写(override,也叫做“覆盖”)和重定义(redefine,也叫作“隐藏”)的区别?
  • 将非受信数据作为参数传入,可能引起xml 注入,引起数据覆盖,这个问题咋解决
  • 设计模式-简单工厂模式
  • Maven框架SpringBootWeb简单入门
  • 关于2023年8月19日PMP认证考试准考信下载通知
  • html实现iphone同款开关
  • 使用Vue和jsmind如何实现思维导图的历史版本控制和撤销/重做功能?
  • 【Vue-Router】路由元信息
  • vue 控件的四个角设置 父视图position:relative
  • VM中linux虚拟机配置桥接模式(虚拟机与宿主机网络互通)
  • 7.Eclipse中改变编码方式及解决部分乱码问题
  • grafana 的 ws websocket 连接不上的解决方式
  • 多环境_部署项目