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); });
Node的REPL环境的更多相关文章
- REPL环境
一.Node的REPL基本操作 REPL(Read-eval-print-loop):交互式解析器 在REPL环境下,可以定义和运行变量.函数.对象. REPL的常用命令: 进入node,即进入了RE ...
- 用node开发repl应用
前言 每次看到一些库npm -g install xx然后,执行xx就可以跑起来,这不就是一个shell工具了吗,那么我不就可以不用学习shell语法,直接用js写命令行脚本了吗! 什么是REPL应用 ...
- Node.js REPL终端
REPL表示读取评估和演示打印循环(Read Eval Print Loop),它代表一个命令输入和系统在交互模式的输出响应窗口控制台或Unix/ Linux的shell计算机环境. Node.js附 ...
- VsCode+Node的前端环境搭建及其理解并创建一个前端目录
既然选择了远方,便只顾风雨兼程 __ HANS许 系列:零基础搭建前后端分离项目 系列:零基础搭建前后端分离项目 VsCode VsCode的安装 VSCode中文设置 VsCode 扩展 VsCod ...
- 手把手教你学node之搭建node.js开发环境
搭建node.js开发环境 本文只针对在Linux或者Mac下面.至于使用 Windows 并坚持玩新技术的同学,我坚信他们一定有着过人的.甚至是不可告人的兼容性 bug 处理能力,所以这部分同学麻烦 ...
- 4、Node.js REPL(交互式解释器)
Node.js REPL(Read Eval Print Loop:交互式解释器) 表示一个电脑的环境,类似 Window 系统的终端或 Unix/Linux shell,我们可以在终端中输入命令,并 ...
- nodejs/REPL环境命令行操作命令
1,输入node 进入node[REPL]环境 2,按两次[ctrl+c]退出node[REPL]环境 3,上箭头会查找上次输入的命令 4,cls清屏 5,tab键会自动补全路径 6,REPL环境
- 15.Node.js REPL(交互式解释器)
转自:http://www.runoob.com/nodejs/nodejs-tutorial.html Node.js REPL(Read Eval Print Loop:交互式解释器) 表示一个电 ...
- 1.0搭建 Node.js 开发环境
<搭建 Node.js 开发环境> 本课程假设大家都是在 Linux 或者 Mac 下面.至于使用 Windows 并坚持玩新技术的同学,我坚信他们一定有着过人的.甚至是不可告人的兼容性 ...
随机推荐
- C++ 匿名namespace的作用以及与static的区别
匿名namespace的作用以及它与static的区别 一.匿名namespace的作用 在C语言中,如果我们在多个tu(translation unit)中使用了同一个名字做 为函数名或者全局变量名 ...
- SNF快速开发平台MVC-EasyUI3.9之-WebApi身份验证问题解决方案
在我们的整体bs框架当中前端采用的是MVC+WebApi的处理方式.WebApi使用起来确实很方便但也会有新的麻烦事,就是身份验证. 如果没有启用身份认证,那么任何匿名用户只要知道了我们服务的url, ...
- 【Big Data - Hadoop - MapReduce】通过腾讯shuffle部署对shuffle过程进行详解
摘要: 通过腾讯shuffle部署对shuffle过程进行详解 摘要:腾讯分布式数据仓库基于开源软件Hadoop和Hive进行构建,TDW计算引擎包括两部分:MapReduce和Spark,两者内部都 ...
- 11款CSS3动画工具的开发
本文展示了11个最好的和最令人惊异的CSS3动画工具,将为开发者是非常有帮助的.CSS3有设计师和开发人员之间的良好的声誉.它是在这里帮助他们创造惊人的结果. 有了这些动画工具,你可以创造一个轻松自由 ...
- 【iCore4 双核心板_FPGA】例程十一:FSMC总线通信实验——独立地址模式
实验原理: STM32F767上自带FMC控制器,本实验将通过FMC总线的地址独立模式实现STM32与FPGA 之间通信,FPGA内部建立RAM块,FPGA桥接STM32和RAM块,本实验通过FSMC ...
- 【Unity】序列化字典Dictionary的问题
问题:在C#脚本定义了public Dictionary字典,然而在编辑器检视面板Editor Inspector中看不到(即无法序列化字典).即不能在编辑器中拖拽给字典赋值. 目标:检视面板Insp ...
- 微信mac版的bug 直接显示了消息原始数据
<msg> <voicemsg endflag="1" cancelflag="0" forwardflag="0" vo ...
- Git 标签操作
允许有意义的名称到一个特定的版本库中的标签操作.Tom 决定标记他们的项目代码,以便他们以后可以更容易访问. 创建标签 让我们标记当前HEAD使用git tag命令.他提供的标记名称前加上-a选项,使 ...
- (转)java 层调用Jni(Ndk) 持久化c c++ 对象
对于Jni(Ndk) 很多人应该都有印象,Android的ndk接触到的机会相对会比较多,本例子以android平台为例,pc端的话就以简单的windows为例, 编码完用vs 或是 gcc进行编译成 ...
- Linux下MySQL5.7.18二进制包安装(无默认配置文件my_default.cnf)
最新在学习MySQL,纯新手,对Linux了解的也不多,因为是下载的最新版的MySQL(MySQL5.7.18)二进制包,CentOS7.2下测试安装,方便以后折腾.大概步骤如下,安装删除反复折腾了几 ...