在特定的开发环境下使用nodejs初始化html\sass\php\tmpl文件

nodejs 自动创建新页面php tpl.html sass工具

cmd 执行 creatFiles.js即可

YUEYUE_DIR : yueyue/mall 项目根目录

DIR_NAME : test目录下的目录名称

TEMP_NAME : tpl.html/php/scss的名称

例子:

{

"YUEYUE_DIR" : "D:/poco/yueyue/mall",

"DIR_NAME" : "order", 

"TEMP_NAME" : "auto" 

}

访问路径:

http://www.yueus.com/mall/user/test/order/auto.php

nodejs :

var fs = require("fs");
//DIR_NAME = 'order', //test目录下的目录名称
//TEMP_NAME = 'auto', //模板 php scss 名字

//YUEYUE_DIR = 'D:\\poco\\yueyue\\mall';

var obj = JSON.parse(fs.readFileSync(__dirname + '\\package.json', 'utf8'));
var YUEYUE_DIR = obj.YUEYUE_DIR,
DIR_NAME = obj.DIR_NAME, //test目录下的目录名称
TEMP_NAME = obj.TEMP_NAME; //模板 php scss 名字

//创建PHP文件
PHP_PATH = YUEYUE_DIR + '\\user\\test' + '\\' + DIR_NAME,
FILE_NAME = '\\' + TEMP_NAME + '.php', //文件名
fs.open(PHP_PATH + FILE_NAME, "w", function (err, fd) {
    // handle error
    fs.close(fd, function (err) {
        var stream = fs.createWriteStream(PHP_PATH + FILE_NAME);
		stream.once('open', function(fd) {
  		stream.write("<?php\n");
  		stream.write("include_once 'config.php';\n");
  		stream.write("$pc_wap = 'wap/';\n");
  		stream.write("$tpl = $my_app_pai->getView(TASK_TEMPLATES_ROOT.$pc_wap.\'" + DIR_NAME + "/" + TEMP_NAME + ".tpl.html\');\n");
  		stream.write("\n");
  		stream.write("if(empty($yue_login_id))\n");
  		stream.write("{\n");
  		stream.write("	$output_arr['code'] = -1;\n");
  		stream.write("	$output_arr['msg']  = 'login,error';\n");
  		stream.write("	$output_arr['data'] = array();\n");
  		stream.write("	exit();\n");
  		stream.write("}\n");
  		stream.write("\n");
  		stream.write("$tpl->output();\n");
  		stream.write("?>\n");
  		stream.end();
  		console.log('PHP file finish!');
  	});
    });
});

var D = new Date();

var TEMP_TPL = YUEYUE_DIR + '\\src\\wap_user\\templates\\default\\wap',
TEMP_TPL_NAME = '\\' + TEMP_NAME + '.tpl.html';
//创建HTML文件
fs.open(TEMP_TPL + '\\' + DIR_NAME + TEMP_TPL_NAME, "w", function (err, fd) {
    // handle error
    fs.close(fd, function (err) {
        var stream = fs.createWriteStream(TEMP_TPL + '\\' + DIR_NAME + TEMP_TPL_NAME);
		stream.once('open', function(fd) {
  		stream.write("<!DOCTYPE html>\n");
  		stream.write("<head>\n");
  		stream.write("	<title>约约首页</title>\n");
  		//stream.write("	<link rel=\"import\" href=\"../webcontrol/head.tpl.html?__inline\">\n");
  		stream.write("	<link charset=\"utf-8\" rel=\"stylesheet\" href=\'../../../../style/" + DIR_NAME + '\\' +  TEMP_NAME + ".scss\'>\n");
  		stream.write("	<link charset=\"utf-8\" rel=\"stylesheet\" href=\'../../../../style/task-m.scss\'>\n");
  		stream.write("	<script src=\"../../../../lib/lib.js\"></script>\n");
  		stream.write("</head>\n");
  		stream.write("<body style=\"background: #f2f2f2\">\n");
  		stream.write("	<div class=\"page-view page-name-" + DIR_NAME + "-" + TEMP_NAME + "\"" + " data-role=\"page-container\">\n");
  		stream.write("	脚本生成" + D +  "\n");
  		stream.write("	</div>\n");
  		stream.write("</main>\n");
  		stream.write("</body>\n");
  		stream.write("</html>\n");
  		stream.end();
  		console.log('tpl.html file finish!');
  	});
    });
});

var SCSS_PATH = YUEYUE_DIR + '\\src\\wap_user\\style',
SCSS_DIR = '\\' + DIR_NAME,
SCSS_NAME = '\\' + TEMP_NAME + '.scss';
fs.open(SCSS_PATH + '\\' + SCSS_DIR + SCSS_NAME, "w", function (err, fd) {
    // handle error
    fs.close(fd, function (err) {
        var stream = fs.createWriteStream(SCSS_PATH + '\\' + SCSS_DIR + SCSS_NAME);
		stream.once('open', function(fd) {
  		stream.write("@import \"../widget/animation\";\n");
  		stream.write("@import \"../widget/ui-dialog\";\n");
  		stream.write("@import \"../widget/ui-tips\";\n");
  		stream.write("@import \"../widget/ui-poptips\";\n");
  		stream.write("@import \"../widget/ui-tooltips\";\n");
  		stream.write("@import \"../widget/ui-loading\";\n");
  		stream.write("@import \"../widget/ui-notice\";\n");
  		stream.write("@import \"../widget/ui-slider\";\n");
  		stream.write("@import \"../widget/ui-progress\";\n");
  		stream.write("@import \"../widget/ui-checkbox\";\n");
  		stream.write("@import \"../widget/ui-form\";\n");
  		stream.write("@import \"../widget/ui-searchbar\";\n");
  		stream.write("@import \"../widget/ui-icon\";\n");
  		stream.write("@import \"../widget/atom\";\n");
  		stream.write(".page-name-" + DIR_NAME + "-" + TEMP_NAME + "{\n"); 
  		stream.write("}\n");
  		stream.end();
  		console.log('sass file finish!');
  	});
    });
});

设置文件json:

{
"YUEYUE_DIR" : "D:/poco/yueyue/mall",
"DIR_NAME" : "", 
"TEMP_NAME" : "index" 
}


转载于:https://my.oschina.net/u/2405644/blog/492341

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值