- node -v
- node myscript.js
- 输入node,进入REPL环境下,直接手输js代码也可直接执行
- 建议使用JetBrain的WebStorm IDE环境
- global全局变量
- __dirname : 当前执行文件的绝对目录
- __filename : 当前执行文件的绝对位置
- console全局变量
- console.log()
- console.info()
- console.error() : 红色输出
- console.warn() : 红色输出
- console.time() ———————- |
- console.timeEnd() —————– | ——–> 统计一段代码的执行时间「[info]输出」
- 重定向分流日志文件
- node myscript.js >log.txt //只能存log/info级别的信息输出
- node myscript.js 1>log.txt 2>error.txt // 1普通 2 错误
- node myscript.js 1>log.txt 2>&1
process全局变量
- process.stdout // process.stdout.write(“this is a standard output info”)
- process.stderr //process.stderr.write(“this is a standard error info”)
- process.stdin
- process.cwd() // 当前执行目录的绝对路径(目录)
- process.on()
- process.exit()
- process.argv // array(0=>’node’, 1=>’myscript.js’, 2=>yourValue_1, …)
process.stdin.setEncoding('utf-8'); process.stdin.on('data', function(data){ console.log(data); }); process.stdin.on('readable', function(){ var data = process.stdin.read(); console.log(data); }); process.stdin.on('exit', function(){ console.log('exit'); }); process.stdin.on('sigint', function(){ console.log('软中断'); });
模块与包
能够实现特定功能的文件,以实现模块化编程
1.1. require
1.2. 赋给exports变量//sum.js require('./myscript_1.js') require('./myscript_2') // 可去除尾缀 function sum(n){ var sum = 0; for(var i = 1; i <= n; i++){ sum += i; } return sum; } exports.sum = sum; // module.exports.sum = sum; 两者效果相同 //main.js var sum = require('./sum'); console.log(sum.sum(10));
一个文件,将模块封装起来,用来发布/更新/依赖管理和版本控制
2.1. package.json描述入口文件/外部依赖
2.2. npm install安装,require使用,npm remove移除
node文件处理
- fs : 异步/同步;阻塞/非阻塞
- path「诡异的神奇小功能」
var fs = require('fs'); fs.readFile(filePath, [options:{'utf-8'},] function(err, data){ console.log(data.toString()); }); // 异步 var data = fs.readFileSync('sum.js', 'utf-8'); console.log(data); // 同步 var path = require('path'); console.log(path.sep); // seperator分隔符 Mac/Linux /; Windows \. console.log(path.extname()); // 扩展名 extended name
Http Server
var http = require('http'); var fs = require('fs'); var url = require('url'); var server = http.createServer(function(request, response){ var urlObj = url.parse(request.url); // urlObj={pathname:'/query.html', query:'x=a&y=b&z=c'}; var pathname = urlObj.pathname; var query = urlObj.query; fs.readFile(pathname.substr(1), 'utf-8', function(err, data){ if(err){ response.writeHead(404); response.end('File Not Found'); } else{ response.end(data); } }); }).listen(8080, 'localhost');
学习注水-20161028-node.js入门笔记
最新推荐文章于 2020-08-13 15:57:33 发布