Node.Js学习就按照这本书的流程来。

在第7章结束与第10章结束时分别自己出一个小项目练练手。Node.Js的入门学习计划是这样。

目录:

QQ:1045642972 欢迎来索书以及讨论Node.Js。


Node.Js Demo

Node.Js官网提供了一个最基本的Demo Code:

var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World');
}).listen(1337, '127.0.0.1');
console.log('Server running at http://127.0.0.1:1337/');

运行之后,浏览器中输入URL,结果:

require('http'); 就是从Node.Js提供的http 这个module中获取导出的对象,以进行之后的创建侦听端口的操作。


Module

Module System的4个要点:

  • 每个Js文件都映射一个Module。
  • 在每个Js文件中,都可以通过module这个变量,来直接操作到Module。
  • 导出模块借助于module.exports这个变量
  • 导入模块借助于require这个全局函数。

直接上代码来说明

文件结构:PS:由于Js没有main(),Node.Js社区中约定将主流程写在app.js中。

utility模块如下:

var title = "Hello Node";

module.exports = {
SetTitle : function(titleName){
title = titleName;
},
Output : function () {
console.log(title);
}
}

app.js对于该模块的测试代码如下:

var module = require("./utility");

module.SetTitle("Hello CNBLOG");
module.Output(); console.log(module.title);

结果:

Node.Js的Module是非常安全的,每个module只能拿到exports变量出来的东西。


Path Module

提供与文件路径有关的功能,并且可以适应操作系统的环境(即Windows的\与Unix的/)。

DEMO(测试环境为Windows):

var path = require("path");

console.log(path.normalize("C:/Users/Guan/WebstormProjects/NodeStudy01/app.js"));
//Output:C:\Users\Guan\WebstormProjects\NodeStudy01\app.js console.log(path.join("C:/Users/Guan/WebstormProjects", "NodeStudy01", "app.js"));
//Output:C:\Users\Guan\WebstormProjects\NodeStudy01\app.js console.log(path.dirname("C:/Users/Guan/WebstormProjects/NodeStudy01/app.js"));
//Output:C:/Users/Guan/WebstormProjects/NodeStudy01 console.log(path.basename("C:/Users/Guan/WebstormProjects/NodeStudy01/app.js"));
//Output:app.js console.log(path.extname("C:/Users/Guan/WebstormProjects/NodeStudy01/app.js"));
//Output:.js

fs Module

提供了异步与同步两种模式读写文件的功能。

DEMO:

var fs = require('fs');

fs.writeFileSync('testA.txt', "Hello Node");
console.log(fs.readFileSync('testA.txt').toString()); fs.writeFile('testB.txt', "Hello Node", function () {
console.log(fs.readFileSync('testB.txt').toString());
});

os Module

该模块提供了获取当前系统OS有关的功能,如:获取CPU核数,内存余量等。

DEMO:

console.log('Total Memory', os.totalmem(), 'Bytes');
console.log('Available Memory', os.freemem() , 'Bytes');
console.log('This machine has', os.cpus().length, 'CPUs');

当然,Module还有很多,具体参考Node.Js官网的API DOC。

最新文章

  1. CheckLogin
  2. LeetCode-Combinations
  3. Oracle SQL 优化原则(实用篇)
  4. ural 1251. Cemetery Manager
  5. STAF自动化测试框架
  6. mmo设计
  7. HDU 5405 (树链剖分+线段树)
  8. HDU 5624 KK's Reconstruction 最小生成树
  9. C#复习三(Day 22)
  10. python中decorator
  11. WPF换肤之三:WPF中的WndProc
  12. HTML5 简介、HTML5 浏览器支持
  13. 200行Java代码搞定计算器程序
  14. RMQ算法
  15. Servlet--ServletInputStream类,ServletOutputStream类
  16. tensorflow import 没找到cudnn库问题解决
  17. Servlet处理流程分析-Servlet学习之旅(二)
  18. C#版 - Leetcode 504. 七进制数 - 题解
  19. Mac学习
  20. redis缓存与数据库一致性问题

热门文章

  1. django-sso单点登陆的实现
  2. java面试题基础
  3. 移植tslib库出现selected device is not a touchscreen I understand的解决方法
  4. (bmp格式)用CDialog的OnCtlColor()消息响应处理背景画刷。
  5. linux设备驱动第三篇:如何实现一个简单的字符设备驱动
  6. 洛谷 - P1361 - 小M的作物 - 最小割 - 最大权闭合子图
  7. Codeforces Round #422 (Div. 2) C. Hacker, pack your bags!(更新数组)
  8. Template Code 无法使用 this.Host 报错
  9. BERT的几个可能的应用
  10. PJzhang:centos7动态IP和静态IP两种方式的设置