知识点: node 命令行传参、fs 模块办法~~~~
第一步 小程序根目录,新建 genWxPages.js文件
let dirname = process.argv.splice(2)[0];const fs = require('fs')const path = require('path')class GennerateWXPage { /** * * @param {string} dirname 生成page名 * @param {string} sourcePath 生成文件绝对路径,默认以后文件所在门路 */ genDir(dirname, sourcePath = path.resolve('./')) { // 检测page文件夹是否存在 if (!fs.existsSync(`${sourcePath}/pages`)) { fs.mkdirSync(`${sourcePath}/pages`) } if (!fs.existsSync(`${sourcePath}/pages/${dirname}`)) { fs.mkdirSync(`${sourcePath}/pages/${dirname}`) } this.genWXML(dirname, sourcePath) this.genJSON(dirname, sourcePath) this.genJS(dirname, sourcePath) this.genWXSS(dirname, sourcePath) // 判断文件是存在 } genWXML(dirname, sourcePath) { if (!fs.existsSync(`${sourcePath}/pages/${dirname}/${dirname}.wxml`)) { let wxml_content = `<!--pages/${dirname}.wxml--><text>pages/${dirname}.wxml</text> ` fs.writeFileSync(`${sourcePath}/pages/${dirname}/${dirname}.wxml`, wxml_content) } } genJSON(dirname, sourcePath) { if (!fs.existsSync(`${sourcePath}/pages/${dirname}/${dirname}.json`)) { let json_content = `{ "usingComponents": {}} ` fs.writeFileSync(`${sourcePath}/pages/${dirname}/${dirname}.json`, json_content) } } genJS(dirname, sourcePath) { if (!fs.existsSync(`${sourcePath}/pages/${dirname}/${dirname}.js`)) { let js_content = `// pages/${dirname}.jsPage({ /** * 页面的初始数据 */ data: { }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { }, /** * 生命周期函数--监听页面首次渲染实现 */ onReady: function () { }, /** * 生命周期函数--监听页面显示 */ onShow: function () { }, /** * 生命周期函数--监听页面暗藏 */ onHide: function () { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { }, /** * 页面相干事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { }, /** * 用户点击右上角分享 */ onShareAppMessage: function () { }}) ` fs.writeFileSync(`${sourcePath}/pages/${dirname}/${dirname}.js`, js_content) } } genWXSS(dirname, sourcePath) { if (!fs.existsSync(`${sourcePath}/pages/${dirname}/${dirname}.wxss`)) { let wxss_content = `/* pages/${dirname}.wxss */ ` fs.writeFileSync(`${sourcePath}/pages/${dirname}/${dirname}.wxss`, wxss_content) } }}if(dirname) { let gen = new GennerateWXPage() gen.genDir(dirname)} else { // ....}
第二步 执行命令 node genWxPages.js goods-list
good-list 为文件名