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。

Node.Js的Module System 以及一些常用 Module的更多相关文章

  1. node.js整理 02文件操作-常用API

    NodeJS不仅能做网络编程,而且能够操作文件. 拷贝 小文件拷贝 var fs = require('fs'); function copy(src, dst) { fs.writeFileSync ...

  2. Node.js学习笔记 01 搭建静态服务器

    希望这篇文章能解决你这样一个问题:“我现在已经了解了一些Node.Js基本概念了,怎么搭一台静态服务器呢?” 请参考一下博主的前两篇文章: 完全面向于初学者的Node.js指南 Node.Js的Mod ...

  3. 完全面向于初学者的Node.js指南

    新的上班时间是周二至周六,工作之余当然要坚持学习啦. 希望这篇文章能解决你这样一个问题:“我现在已经下载好Node.Js了,该做些什么呢?” 原文URL:http://blog.modulus.io/ ...

  4. Node.js NPM Tutorial

    Node.js NPM Tutorial – How to Get Started with NPM? NPM is the core of any application that is devel ...

  5. A chatroom for all! Part 1 - Introduction to Node.js(转发)

    项目组用到了 Node.js,发现下面这篇文章不错.转发一下.原文地址:<原文>. ------------------------------------------- A chatro ...

  6. Node.js 全局对象介绍

    全局对象 这些对象在所有模块里都可用.有些对象不是在全局作用域而是在模块作用域里,这些情况下面文档都会标注出来. global {Object} 全局命名空间对象. 浏览器里,全局作用域就是顶级域.如 ...

  7. [Node.js] 05 - Modules and Function

    一个 Node.js 文件就是一个模块,这个文件可能是JavaScript 代码.JSON 或者编译过的C/C++ 扩展. 模块是Node.js 应用程序的基本组成部分,文件和模块是一一对应的. No ...

  8. Practical Node.js摘录(2018版)第1,2章。

    大神的node书,免费 视频:https://node.university/courses/short-lectures/lectures/3949510 另一本书:全栈JavaScript,学习b ...

  9. 2015年最佳的15个 Node.js 开发工具

    Node.js 越来月流行,这个基于 Google V8 引擎建立的平台, 用于方便地搭建响应速度快.易于扩展的网络应用.在本文中,我们列出了2015年最佳的15个 Node.js 开发工具.这些工具 ...

随机推荐

  1. SQL 和 NoSQL 比较

    定义: SQL (Structured Query Language) 数据库,指关系型数据库.主要代表:SQL Server,Oracle,MySQL(开源),PostgreSQL(开源). NoS ...

  2. Tomcat启动报:invalid LOC header (bad signature)的问题

    原因:这种一般是因为项目依赖的某个jar包损坏引起的, 解决办法: 1.右键项目,选择maven,更新(update maven project) 2.通过右击项目名 ->  Run as -& ...

  3. css3的渐变效果

    1.css3 渐变的属性 例子: #grad { background: -webkit-linear-gradient(red, blue); /* Safari 5.1 - 6.0 */ back ...

  4. 使用gcc找出头文件的路径

    参考 http://stackoverflow.com/questions/13079650/how-can-i-find-the-header-files-of-the-c-programming- ...

  5. Objective-C Runtime(一)预备知识

    很早就知道了Objective-C Runtime这个概念,「Objective-C奇技淫巧」「iOS黑魔法」各种看起来很屌的主题中总会有它的身影:但一直没有深入去学习,一来觉得目前在实际项目中还没有 ...

  6. iOS 开发图片资源选择png格式还是jpg格式

    对于iOS本地应用程序来说最简单的答案就是始终使用PNG,除非你有非常非常好的理由不用它. 当iOS应用构建的时候,Xcode会通过一种方式优化.png文件而不会优化其它文件格式.它优化得相当的好 他 ...

  7. Centos6.5 6.6 (均可) 重置密码或强行破解root密码 简单操作

    centos忘记root密码怎么重置root密码? 使用Linux系统的时候root密码是十分关键的安全机制. 但是假设那天丢失了root密码的话问题就严重了. 百牛信息技术bainiu.ltd整理发 ...

  8. html 样式之style属性的使用

    转自:https://www.ggbiji.com/html-style.html html中的style属性是用来改变html元素的样式的,样式是 在html 4 引入的,它是改变 html元素样式 ...

  9. Ubuntu中右击出现终端

    1 root用户 $sudo apt-get install  nautilus-open-terminal 2重启 3ok

  10. on a null object reference 问题的解决办法

    FATAL EXCEPTION: …… java.lang.RuntimeException: Unable to start activity ComponentInfo…… ava.lang.Nu ...