node前端自动化
2016-05-26 21:11
417 查看
一、前端自动化-项目构建
我们平时写代码,喜欢建一个project,然后里面是css、js、images文件,以及index.html,而node可以自动化构建好项目,如下:
二、前端自动化--监听文件的变化
在上面的自动生成的project文件夹里面再建一个source文件夹。下面的代码就是监听source文件夹的任何变化,不管是新建文件还是往新建文件中加入内容。它都会合并到js/index.js中去。
我们平时写代码,喜欢建一个project,然后里面是css、js、images文件,以及index.html,而node可以自动化构建好项目,如下:
/** * Created by 毅 on 2015/9/20. */ var projectData = { 'name' : 'project', 'fileData' : [ { 'name' : 'css', 'type' : 'dir' }, { 'name' : 'js', 'type' : 'dir' }, { 'name' : 'images', 'type' : 'dir' }, { 'name' : 'index.html', 'type' : 'file', 'content' : '<html>\n\t<head>\n\t\t<title>title</title>\n\t</head>\n\t<body>\n\t\t<h1>Hello</h1>\n\t</body>\n</html>', } ] }; var fs = require('fs'); if ( projectData.name ) { fs.mkdirSync(projectData.name); var fileData = projectData.fileData; if ( fileData && fileData.forEach ) { fileData.forEach(function(f) { f.path = projectData.name + '/' + f.name; f.content = f.content || ''; switch (f.type) { case 'dir': fs.mkdirSync(f.path); break; case 'file': fs.writeFileSync(f.path, f.content); break; default : break; } }); } }
二、前端自动化--监听文件的变化
在上面的自动生成的project文件夹里面再建一个source文件夹。下面的代码就是监听source文件夹的任何变化,不管是新建文件还是往新建文件中加入内容。它都会合并到js/index.js中去。
var fs = require('fs'); var filedir = './project/source'; fs.watch(filedir, function(ev, file) { //console.log(ev + ' / ' + file); // 这里不需要判断file是否有内容 //只要有一个文件发生了变化,我们就需要对这个文件夹下的所有文件进行读取,然后合并 fs.readdir(filedir, function(err, dataList) { var arr = []; console.log(dataList); dataList.forEach(function(f) { if (f) { var info = fs.statSync(filedir + '/' + f); //console.log(info); if (info.mode == 33206) { arr.push(filedir + '/' + f); } } }); //console.log(arr); //读取数组中的文件内容,并合并 var content = ''; arr.forEach(function(f) { var c = fs.readFileSync( f ); //console.log(c); content += c.toString() + '\n'; }); console.log(content); fs.writeFile('./project/js/index.js', content); }); })
相关文章推荐
- nodejs,npm 安装配置步骤
- nodejs,npm 安装配置步骤
- LeetCode:Delete Node in a Linked List
- node:基于事件驱动的回调
- Node.js的npm包管理器基础使用教程
- 24. Swap Nodes in Pairs -leetcode-java
- 【深入浅出Node.js系列八】一个基于Node.js完整的Web应用实战
- 【深入浅出Node.js系列七】Connect模块解析
- 【深入浅出Node.js系列六】Buffer那些事儿
- 【深入浅出Node.js系列五】初探Node.js的异步I/O实现
- nodejs 热更新
- 【深入浅出Node.js系列四】Node.js的事件机制
- 【深入浅出Node.js系列三】深入Node.js的模块机制
- 【深入浅出Node.js系列二】Node.js&NPM的安装与配置
- 【深入浅出Node.js系列一】什么是Node.js
- Nodejs 中常见的加密算法:MD5,RSA
- Nodejs in Visual Studio Code 14.IISNode与IIS7.x
- 19. Remove Nth Node From End of List(Linked List)
- Nodejs学习笔记(三)
- ROS的节点(NODE)