Node fsモジュールシミュレーションウィジェット開発ツールを練習し、wxml、wxss、json、jsファイルを含むpage内のフォルダを迅速に生成


知識点: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
            `
            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}.js
Page({

  /**
   *        
   */
  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 {
    // ....
}

ステップ2命令を実行するjs goods-list
good-listはファイル名