文档章节

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

nolest
 nolest
发布于 2015/08/14 14:27
字数 541
阅读 14
收藏 0

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" 
}


© 著作权归作者所有

nolest
粉丝 0
博文 10
码字总数 5742
作品 0
广州
私信 提问
构建koa2+sass开发环境

构建koa2+sass开发环境 四号程序员2018-01-051 阅读 Node.js koa2是”下一代Node.js的Web开发框架”,与Express相比,更加简洁、健壮。 sass是比较传统的css拓展语言,本文说一下如何构建koa...

四号程序员
2018/01/05
0
0
Html5 Bootstrap3.x 后台模板源码

[支持] Bootstrap 4 3.x css framework Html version with Ajax Grunt task for professionals Bower package manage Sass Unlimited colors Light, Grey, Dark, Black themes 6 pre-build ......

longjl
2016/01/17
10
0
Win10 下 Nodejs+Angular2+bootstrap4 开发环境搭建

安装Node.js 1,下载安装包并安装 https://nodejs.org/en/download/ 2,查看node和npm的版本信息 3,查看和更新包安装路径 --查看 npm config get prefix npm config get cache --更新 npm ...

mybabe0312
2017/04/06
0
0
Node.js VS PHP — 你应该选择哪一个?

现在,Web开发公司和开发人员可以选择多种技术栈来构建Web应用程序。早期网络发展,不同的技术被用于前端和后端开发。但是,随着Node.js的发布,布局发生了变化,因为它允许开发人员使用 Ja...

周其
2017/12/23
20.8K
89
【gulp-sass】本地搭建sass开发环境

首先去官网下载一下nodejs。 然后安装gulp: 选择一个目录执行命令行:npm init,一直回车生成package.json文件 再执行命令:npm install gulp --save-dev,安装gulp依赖包到本目录。(安装成...

海瑞菌·博客
2018/07/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Leetcode PHP题解--D118 350. Intersection of Two Arrays II

D118 350. Intersection of Two Arrays II 题目链接 350. Intersection of Two Arrays II 题目分析 返回给定两个数组的交集。 思路 从数量较多的那个数组开始去另一个数组寻找是否元素存在,...

skys215
19分钟前
3
0
从源码上分析Android View保存数据状态

在Android开发旅途中,经常会遇到系统控件无法满足我们的视觉,交互效果,这个时候我们常常需要自己自定义控件来满足我们的需求。在这个开发探索过程中,我们不可避免得遇到View要保存状态信...

shzwork
20分钟前
3
0
请问AD603AQ和AD603AR有什么区别?

  AD603AQ和AD603AR只是在封装上的区别,前者是双列直插式,后者是贴片式,AD603A系列的温度都是在—40摄氏度到+85摄氏度之间,AD603还有一个系列是AD603S,它的温度是在—55摄氏度到+125摄...

仙溪
21分钟前
4
0
Linux /etc/profile 配置文件修改

1. 执行命令: vi /etc/profile 去类似windows 配置环境变量, 2.修改完,立即生效命令: source /etc/profile

kuchawyz
22分钟前
4
0
对于小白来说素描怎么入门?怎么学习?

素描初学者怎样入门?初学者怎样才能画好素描绘画?画好素描绘画有哪些技巧?想必这些问题都是绘画初学者们比较伤脑筋的问题,那么初学者到底怎样才能画好素描绘画呢?今天收集整理了关于素描...

huihuajiaocheng
23分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部