UNPKG

uni-easy-pages

Version:

uni-app开发环境辅助生产工具

108 lines (96 loc) 3.3 kB
const fs = require('fs'); const path = require('path'); module.exports = class { constructor() { } static init() { return new this(); } start() { console.log('开始目录初始化...'); this.createDir(); this.createFile(); console.log('目录初始化完成...'); } createDir() { let watchDirs = [ path.join(path.resolve(), "pages"), path.join(path.resolve(), "config"), ]; watchDirs.forEach((item) => { if (!fs.existsSync(item)) { fs.mkdirSync(item); console.log('创建目录', item); } }) } copyDirectory(src, dest) { if (!fs.existsSync(src)) { return false; } if (!fs.existsSync(dest)) { fs.mkdirSync(dest); } var dirs = fs.readdirSync(src); dirs.forEach((item) => { var item_path = path.join(src, item); var temp = fs.statSync(item_path); if (temp.isFile()) { // 是文件 // console.log("Item Is File:" + item); fs.copyFileSync(item_path, path.join(dest, item)); } else if (temp.isDirectory()) { // 是目录 // console.log("Item Is Directory:" + item); this.copyDirectory(item_path, path.join(dest, item)); } }); } createFile() { let pagesJsonFilePath = path.join(path.resolve(), 'pages.json'); //------ let condition = path.join(path.resolve(), 'config', 'condition.js'); if (!fs.existsSync(condition)) { let str = '// 必填:否;描述:启动模式配置;【https://uniapp.dcloud.io/collocation/pages?id=condition】\n' + 'const condition = {};\n' + 'export default condition;'; fs.writeFileSync(condition, str); console.log('创建文件', condition); } //------ let easycom = path.join(path.resolve(), 'config', 'easycom.js'); if (!fs.existsSync(easycom)) { let str = '// 必填:否;描述:组件自动引入规则;平台兼容:2.5.5+;【https://uniapp.dcloud.io/collocation/pages?id=easycom]\n' + 'const easycom = {};\n' + 'export default easycom;'; fs.writeFileSync(easycom, str); console.log('创建文件', easycom); } //------ let globalStyle = path.join(path.resolve(), 'config', 'globalStyle.js'); if (!fs.existsSync(globalStyle)) { let str = '// 必填:否;描述:设置默认页面的窗口表现;【https://uniapp.dcloud.io/collocation/pages?id=globalStyle]\n' + 'const globalStyle = {};\n' + 'export default globalStyle;'; fs.writeFileSync(globalStyle, str); console.log('创建文件', globalStyle); } //------ let tabBar = path.join(path.resolve(), 'config', 'tabBar.js'); if (!fs.existsSync(tabBar)) { let str = '// 必填:否;描述:设置底部 tab 的表现;【https://uniapp.dcloud.io/collocation/pages?id=tabBar]\n' + 'const tabBar = {};\n' + 'export default tabBar;'; fs.writeFileSync(tabBar, str); console.log('创建文件', tabBar); } //------ let extras = path.join(path.resolve(), 'config', 'extras.js'); if (!fs.existsSync(extras)) { let str = '// 必填:否;描述:其他节点信息配置,如:subPackages、preloadRule和workers等\n' + 'const extras = {};\n' + 'export default extras;'; fs.writeFileSync(extras, str); console.log('创建文件', extras); } //------ } }