Node的REPL环境
1. Node的REPL环境
- 什么是REPL
REPL全称 Read-eval-print-loop,交互式解析器 REPL可以提供给程序员对Node.js的一些api快速测试
REPL的基本操作
- 定义和运行变量、函数、对象
- 下划线_ 可以获取表达式的运算结果
REPL的常用命令
- 退出REPL,连按两次ctrl+c,输入.exit
- tab 打印Node.js中的所有对象
- 向上/向下 查看历史命令
- .save filename 保存输入的命令
- .load filename 加载文件
2. Node 执行js文件
- node filename
3. Node.js的快速体验
- 读取文件
//加载文件读写模块 var fs = require("fs"); fs.readFile("data.json", function(error, data) { if(error){ throw error; } console.log(data.toString()); });
- 创建一个简易web服务器
var http = require("http"); var server = http.createServer(); var count = 0; server.on("request", function (request,response) { count ++; console.log("有请求进来"); response.write("hello world" + count); response.end(); }); server.listen(3333); console.log("服务开启");
4. Node中的全局对象
- global
- global顶级对象,类似于浏览器中的window
- 在任何地方可以直接使用,不需要导包
- setTimeout/setImmediate/process.nextTick,异步的时候setTimeout的优先级高于setImmediate,process.nextTick优先级最高
- setInterval
- 在REPL环境中定义的变量直接挂载到global中
- 在js文件中定义的变量不会挂载到global中
- 获取路径
- __dirname 当前执行的js所在的文件夹
- __filename 当前执行的js的路径
- process.cwd() 当前执行node.exe的路径
process
- process.abort() 退出node.exe
- process.arch 获取执行当前node的平台是32还是64位
process.argv 获取当前执行node时候的参数数组
默认数组由两个值 1、node的路径 2、当前js的路径
process.env 获取环境变量
结合命令行 命令 set xxx="" 可以指定执行的环境 例如:set xxx=dev && node 07-env判断执行环境.js
标准输入输出
- process.stdout.write(); console.log内部调用的write()并且加了一个换行
案例:输出控制台动画
var index = 0; setInterval(function () { //输出之前清空之前的内容 process.stdout.write("\u001b[2J\u001b[0;0H"); var content = fcontent[index]; process.stdout.write(content); index++; if(index >= fcontent.length) { index =0; } }, 100);
process.stdin.read();
process.stdin.on("readable", function () { //监控键盘的输入 //只要有输入,就会执行function var data = process.stdin.read(); if(data == null) { console.log("请输入一些内容"); return; } process.stdout.write("你输入的内容:" + data); });
相关推荐
chensen 2020-11-14
lwnylslwnyls 2020-11-06
ATenhong 2020-10-15
yanzhelee 2020-10-13
佛系程序员J 2020-10-10
guojin0 2020-10-08
佛系程序员J 2020-10-08
bluewelkin 2020-09-16
wwzaqw 2020-09-04
zhongdaowendao 2020-09-02
favouriter 2020-08-18
奎因amp华洛 2020-08-15
一青年 2020-08-13
千锋 2020-08-10
nangongyanya 2020-08-09
dongxurr 2020-08-08
明天你好 2020-08-03
kyelu 2020-08-03
Ashes 2020-08-03