遍历目录 递归算法 遍历目录时一般使用递归算法,否则就难以编写出简洁的代码. 递归算法与数学归纳法类似,通过不断缩小问题的规模来解决问题 function factorial(n) { if (n === 1) { return 1; } else { return n * factorial(n - 1); } } // 使用递归算法编写的代码虽然简洁,但由于每递归一次就产生一次函数调用,在需要优先考虑性能时,需要把递归算法转换为循环算法,以减少函数调用次数. 遍历算法 目录是一个树状结构,在…
NodeJS不仅能做网络编程,而且能够操作文件. 拷贝 小文件拷贝 var fs = require('fs'); function copy(src, dst) { fs.writeFileSync(dst, fs.readFileSync(src)); } function main(path) { copy(path[0], path[1]); } main(process.argv.slice(2)); process是一个全局变量,可通过process.argv获得命令行参数. arg…
简介 var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text-plain'}); res.end('Hello World\n'); }).listen(3000) //浏览器访问该端口http://127.0.0.1:3000/ 在Linux系统下,监听1024以下端口需要root权限.因此,如果想监听80或443端口的话,需要使用…
使用Node.JS监听文件夹改变有许多应用场合,比如: 构建自动编绎工具 当源文件改变时,自动运行build过程,比如当你写CoffeeScript文件或SASS CSS文件时,保存之后可即时生成对应的JS或CSS. 构建自动布署工具通过侦听源文件夹的改变,你可以自动即时将改后的文件布署到测试服务器,加快你的开发测试速度. 这些工具其实都需要侦听文件夹的改变,基于Node.JS的侦听文件夹改变的模块有很多. fs.watch 其中Node.JS的文件系统也可侦听某个目录的改变, 如fs.watc…
实现fast-cp :拷贝文件到目标对象 Linux的七种文件类型 :https://blog.csdn.net/linkvivi/article/details/79834143 ls -al :https://www.cnblogs.com/fyc119/p/6959695.html 文件的属性有三类权限 , 文件拥有者权限 ,  文件拥有者组的权限 , 其他权限 : https://www.cnblogs.com/xiaoxiaoweng/p/10722044.html chmod abc…
node.js学习03 解决浏览器接收服务端信息之后乱码的问题: 服务器通过设置http响应报文头,告诉浏览器使用相应的编码 来解析网页. res.setHeader('Content','text/html;charset=utf-8'); //根据不同的请求做出不同的响应 let http = require('http'); http.createServer(function(req,res){ //获取用户请求的路径req.url // console.log(req.url); //…
大多数文章对于到底怎样编译less文件并没有一个详细的说明,清一色的grunt命令,看得也是晕晕的,所以也就有了这篇手记的存在. 步入正题 1.安装配置好sublime text3(包括各种实用插件)和node.js后,新建一个文件夹,这里取名less_test,文件目录结构如下:其中node_modules文件夹是调用npm install命令的时候在当前目录下创建的安装模块.2.在test.less文件里面随意写些代码:3.打开命令行(cmd),进入less_test文件夹,输入npm in…
本文同步自我的个人博客:http://www.52cik.com/2015/12/03/learn-node-fs.html 最近看到群里不少大神都开始玩 node 了,我感觉跟他们步伐越来越大了, 为了追逐他们的步伐,必须把 node 技能 get 起来. hello world! node 这货,接触也有快2年了吧,不过1年前才开始用,仅仅是用而已. 因为那时候接触 grunt 以及后来的 gulp 然后渐渐的熟悉了 node. 当时的 node 官网,首页就是一个简单的 http 例子.…
文件操作 相关模块 Node内核提供了很多与文件操作相关的模块,每个模块都提供了一些最基本的操作API,在NPM中也有社区提供的功能包 fs: 基础的文件操作 API path: 提供和路径相关的操作 API readline: 用于读取大文本文件,一行一行读 fs-extra(第三方): https://www.npmjs.com/package/fs-extra 同步或异步调用 fs模块对文件的几乎所有操作都有同步和异步两种形式 例如:readFile() 和 readFileSync()…
文件查找流程图 从文件模块缓存中加载     尽管原生模块与文件模块的优先级不同,但是都不会优先于从文件模块的缓存中加载已经存在的模块. 从原生模块加载     原生模块的优先级仅次于文件模块缓存的优先级.require方法在解析文件名之后,优先检查模块是否在原生模块列表中.以http模块为例,尽管在目录下存在一个http/http.js/http.node/http.json文件,require(“http”)都不会从这些文件中加载,而是从原生模块中加载.     原生模块也有一个缓存区,同样…