Node fsモジュールシミュレーションウィジェット開発ツールを練習し、wxml、wxss、json、jsファイルを含むpage内のフォルダを迅速に生成
知識点:nodeコマンドラインパラメータ、fsモジュールメソッド~~~~
最初のステップのルートディレクトリ、genWxPagesを新規作成します.jsファイル
ステップ2命令を実行するjs goods-list
good-listはファイル名
最初のステップのルートディレクトリ、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はファイル名