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环境的更多相关文章

  1. REPL环境

    一.Node的REPL基本操作 REPL(Read-eval-print-loop):交互式解析器 在REPL环境下,可以定义和运行变量.函数.对象. REPL的常用命令: 进入node,即进入了RE ...

  2. 用node开发repl应用

    前言 每次看到一些库npm -g install xx然后,执行xx就可以跑起来,这不就是一个shell工具了吗,那么我不就可以不用学习shell语法,直接用js写命令行脚本了吗! 什么是REPL应用 ...

  3. Node.js REPL终端

    REPL表示读取评估和演示打印循环(Read Eval Print Loop),它代表一个命令输入和系统在交互模式的输出响应窗口控制台或Unix/ Linux的shell计算机环境. Node.js附 ...

  4. VsCode+Node的前端环境搭建及其理解并创建一个前端目录

    既然选择了远方,便只顾风雨兼程 __ HANS许 系列:零基础搭建前后端分离项目 系列:零基础搭建前后端分离项目 VsCode VsCode的安装 VSCode中文设置 VsCode 扩展 VsCod ...

  5. 手把手教你学node之搭建node.js开发环境

    搭建node.js开发环境 本文只针对在Linux或者Mac下面.至于使用 Windows 并坚持玩新技术的同学,我坚信他们一定有着过人的.甚至是不可告人的兼容性 bug 处理能力,所以这部分同学麻烦 ...

  6. 4、Node.js REPL(交互式解释器)

    Node.js REPL(Read Eval Print Loop:交互式解释器) 表示一个电脑的环境,类似 Window 系统的终端或 Unix/Linux shell,我们可以在终端中输入命令,并 ...

  7. nodejs/REPL环境命令行操作命令

    1,输入node 进入node[REPL]环境 2,按两次[ctrl+c]退出node[REPL]环境 3,上箭头会查找上次输入的命令 4,cls清屏 5,tab键会自动补全路径 6,REPL环境

  8. 15.Node.js REPL(交互式解释器)

    转自:http://www.runoob.com/nodejs/nodejs-tutorial.html Node.js REPL(Read Eval Print Loop:交互式解释器) 表示一个电 ...

  9. 1.0搭建 Node.js 开发环境

    <搭建 Node.js 开发环境> 本课程假设大家都是在 Linux 或者 Mac 下面.至于使用 Windows 并坚持玩新技术的同学,我坚信他们一定有着过人的.甚至是不可告人的兼容性 ...

随机推荐

  1. 使用RStudio远程连接MySQL

    环境: 远程机: linux + Mysql 本地机: Windows + RStudio 问题: 1. 远程机为内网机器,需要跳板机连接,没有公网ip,无法连接 解决方案:修改跳板机的iptable ...

  2. 用pigz代替gzip -- 并行压缩软件

    用pigz代替gzip By yejr on 03 十二月 2012 pig是个啥东东?官网:http://zlib.net/pigz一句话简介: A parallel implementation ...

  3. Andorid开发(二十二)——获取上下文getApplicationContext()、Activity.this、 getBaseContext

    getApplicationContext() //返回应用的上下文,生命周期是整个应用,应用摧毁它才摧毁 Activity.this的context //返回当前activity的上下文,属于act ...

  4. Javascript模版引擎简介

    回顾 Micro-Templating 出自John Resig 2008年的一片文章,以及其经典实现: // Simple JavaScript Templating // John Resig - ...

  5. 奇葩问题 eclipse中DDMS的LOGcat只有一列level

    http://stackoverflow.com/questions/25010393/eclipse-logcat-shows-only-the-first-letter-from-each-mes ...

  6. win 停止tomcat

    1.首先查找到占用8080端口的进程号PID是多少 CMD>netstat -ano | findstr 8080 这个命令输出的最后一列表示占用8080端口的进程号是多少,假设为1234 2. ...

  7. Error - SqlDateTime overflow. Must be between 1/1/1753 12:00:00 AM and 12/31/9999 11:59:59 PM

    I find using the following works quite well for SQL min/max dates after many DB related errors: Date ...

  8. ThinkingInJava 学习 之 0000005 访问权限控制

    1. 包:库单元 1. 代码组织 2. 创建独一无二的包名 3. 定制工具库 4. 用import改变行为 5. 对使用包的忠告 2. Java访问权限修饰词 1. 包访问权限 2. public : ...

  9. webpack + vue 项目 自定义 插件 解决 前端 JS 版本 更新 问题

    Webpack 是一个前端资源加载/打包工具.它将根据模块的依赖关系进行静态分析,然后将这些模块按照指定的规则生成对应的静态资源. 它的异步加载原理是,事先将编译好后的静态文件,通过js对象映射,硬编 ...

  10. HttpSenderUtil向指定 URL 发送POST方法的请求

    package com.founder.ec.common.utils; import java.io.BufferedReader; import java.io.IOException; impo ...