node—基础命令

1、安装node在任意文件夹下按shift键选中“在此处打开PowerShell窗口”或者直接在开始菜单输入cmd启动

2、常用命令:

  • c:

如果我们想访问c盘,那么我们需要在命令行中输入c:就行了

  • cd..

cd..就可以返回上层目录

  • cd mm

cd mm即可访问mm文件夹

  • dir

如果想查看该文件夹下有哪些文件,则可以在光标处输入 "dir" 命令

  • 连续按两次Ctrl+C或者输入“.exit”
  • 在C盘任意文件夹下输入cd可返回根目录C盘
  • 输入node回车即可进入Node.js运行环境,启动 Node 的终端可直接写表达式进行运算
  • 退出只需要连续按两次Ctrl+C或者输入“.exit”回车即可。
  • 创建文件夹我们可以使用 md <folderName>或mkdir <folderName>命令来创建,其中md和mkdir都是建立新目录make directory的意思,完整命令是md [盘符:][路径]新目录名,比如:md c: estmyfolder
  • 删除文件夹呢,使用rd或rmdir命令,完整命令rd /s /q [盘符:][路径]新目录名,

因为rd只能删除空的文件夹,而如果其中有子文件或子文件夹的时候就会停下来,这时我们加上/s就可以直接删除,但是删除过程中会提示你是否确定删除,对于懒癌患者我们有添加了/q,即quiet,安静模式;所以使用以上命令会完整删除你选中的整个文件夹

  • 清屏 全部清理掉了输入cls
  • 查看npm版本:npm -v
  • 更新npm版本:npm install npm -g
  • 使用 npm 命令安装模块 express:npm install express ,使用var express = require('express');
  • 卸载express模块:npm uninstall express
  • 更新模块:npm update express

3、同步读取readFileSync异步读取readFile的区别案例

(1)同步读取readFileSync

创建一个文件 input.txt,内容:菜鸟教程官网地址:www.runoob.com

创建 main.js 文件, 代码如下:

var fs = require("fs");
var data = fs.readFileSync('input.txt');
console.log(data.toString());
console.log("程序执行结束!");

执行:node main.js

结果:菜鸟教程官网地址:www.runoob.com  程序执行结束!

(2)异步读取readFile
var fs = require("fs");
fs.readFile('input.txt', function (err, data) {if (err) return console.error(err);
console.log(data.toString());});
console.log("程序执行结束!");

执行:node main.js

结果:程序执行结束!  菜鸟教程官网地址:www.runoob.com

 4、events.EventEmitter,EventEmitter 提供了多个属性,如 on 和 emit。on 函数用于绑定事件函数,emit 属性用于触发一个事件 

//main.js
var events = require('events');
var eventEmitter = new events.EventEmitter();

// 监听器 #1
var listener1 = function listener1() {
   console.log('监听器 listener1 执行。');
}

// 监听器 #2
var listener2 = function listener2() {
  console.log('监听器 listener2 执行。');
}

// 绑定 connection 事件,处理函数为 listener1 
eventEmitter.addListener('connection', listener1);

// 绑定 connection 事件,处理函数为 listener2
eventEmitter.on('connection', listener2);

var eventListeners = eventEmitter.listenerCount('connection');
console.log(eventListeners + " 个监听器监听连接事件。");

// 处理 connection 事件 
eventEmitter.emit('connection');

// 移除监绑定的 listener1 函数
eventEmitter.removeListener('connection', listener1);
console.log("listener1 不再受监听。");

// 触发连接事件
eventEmitter.emit('connection');

eventListeners = eventEmitter.listenerCount('connection');
console.log(eventListeners + " 个监听器监听连接事件。");

console.log("程序执行完毕。");
执行:node main.js结果:
2 个监听器监听连接事件。
监听器 listener1 执行。
监听器 listener2 执行。
listener1 不再受监听。
监听器 listener2 执行。
1 个监听器监听连接事件。
程序执行完毕。
5、exports模块系统
//hello.js 页面
function Hello() { 
    var name; 
    this.setName = function(thyName) { 
        name = thyName; 
    }; 
    this.sayHello = function() { 
        console.log('Hello ' + name); 
    }; 
  }; 
  module.exports = Hello;
//main.js页面 
var Hello = require('./hello'); 
hello = new Hello(); 
hello.setName('BYVoid'); 
hello.sayHello(); 

执行:node main.js

结果:hello.setName('BYVoid');
6、 http.createServer() 方法创建服务器,并使用 listen 方法绑定 8888 端口
//server.js 的文件
var http = require('http');
http.createServer(function (request, response) {// 发送 HTTP 头部 // HTTP 状态值: 200 : OK// 内容类型: text/plain
    response.writeHead(200, {'Content-Type': 'text/plain'});// 发送响应数据 "Hello World"
    response.end('Hello World
');
}).listen(8888);// 终端打印如下信息 console.log('Server running at http://127.0.0.1:8888/');

执行:node server.js

结果:Server running at http://127.0.0.1:8888/
7、定时器
__filename 表示当前正在执行的脚本的文件名(注意前面是两个下划线
__dirname 表示当前执行脚本所在的目录。
setTimeout(cb, ms) 全局函数在指定的毫秒(ms)数后执行指定函数(cb)。:setTimeout() 只执行一次指定函数。
clearTimeout( t ) 全局函数用于停止一个之前通过 setTimeout() 创建的定时器。 参数 t 是通过 setTimeout() 函数创建的定时器。
setInterval(cb, ms) 全局函数在指定的毫秒(ms)数后执行指定函数(cb)。
8、util 是一个Node.js 核心模块,提供常用函数的集合,var util = require('util'); 
util.isArray(object)如果给定的参数 "object" 是一个数组返回true,否则返回false。
util.isRegExp(object)如果给定的参数 "object" 是一个正则表达式返回true,否则返回false
util.isDate(object)如果给定的参数 "object" 是一个日期返回true,否则返回false
util.isError(object)如果给定的参数 "object" 是一个错误对象返回true,否则返回false
9、fs文件系统var fs = require("fs")
  • 读取文件内容的函数有异步的 fs.readFile() 和同步的 fs.readFileSync()
  • 打开文件fs.open(path, flags[, mode], callback)
  • 获取文件信息fs.stat(path, callback)
  • 写入文件fs.writeFile(file, data[, options], callback)
  • 读取文件fs.read(fd, buffer, offset, length, position, callback)
  • 关闭文件fs.close(fd, callback)
  • 截取文件fs.ftruncate(fd, len, callback)
  • 删除文件fs.unlink(path, callback)
  • 创建目录fs.mkdir(path[, options], callback)可以添加 recursive: true 参数
 

      示例fs.mkdir('/tmp/a/apple', { recursive: true }, (err) => {

                   if (err) throw err;
             });
  • 读取目录fs.readdir(path, callback)
  • 删除目录fs.rmdir(path, callback)
原文地址:https://www.cnblogs.com/bing0709/p/10373004.html