Node 入门

Posted getcharzp

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Node 入门相关的知识,希望对你有一定的参考价值。

Node 入门

NodeJs 安装,HelloWorld
  • 下载地址
https://nodejs.org/zh-cn/
https://nodejs.org/dist/
  • 用 Node命令行输出HelloWorld
console.log("Hello World");
NodeJs 创建应用
  • http 模块引用
require('http')
  • 服务器创建
http.createServer()
  • 端口的监听
server.listen(8888)
  • 使用 node环境运行
node server.js
  • 代码整合
var http = require('http');

var server = http.createServer((request, response)=>{
    response.writeHead(200, {"Content-Type": "text/plain"});
    response.end('Hello World');
});

server.listen(8888);

console.log('服务启动。。。 127.0.0.1:8888');
npm 包管理工具
  • 在安装好 node.js 的时候就自动安装好了 npm
  • npm 作用:包管理工具
  • npm 常用命令

① 包下载

npm install 包名
npm install 包名 -g  # 全局安装

② 下载源

npm config get registry  # 获取下载源地址
npm config set registry https://registry.npm.taobao.org/  # 修改淘宝下载源

③ 安装位置的查看

npm root -g
  • 安装地址修改

    [node安装位置] ode_modules pm中的 npmrc 文件修改为: prefix=D:Program Files pm

NodeJs 回调函数
  • 阻塞案例
var fs = require('fs');

fs.readFileSync('sync.txt');

console.log(data.toString());
console.log('结束');
  • 非阻塞案例
var fs = require('fs');

fs.readFile('sync.txt', (err, data) => {
    if (err) throw err;
    console.log(data.toString());
});

console.log('结束');
EventEmitter 类
  • 作用

实现事件的监听及触发功能

  • 事件的监听
event.on('eventName', function(){});
  • 事件触发
event.emit('eventName');
  • 代码整合
var events = require('events');

var eventEmitter = new events.EventEmitter();
eventEmitter.on("eventName", ()=>{
    console.log("触发了");
});

console.log("将要触发");
eventEmitter.emit("eventName");
模块系统
  • Diy 模块
console.log("my module run");
exports.word = 'Hello Module';
  • 模块的引用顺序

    • 是否是路径形式的加载
    require('./my_module')
    • 加载缓存
    var my_module = require('./my_module');
    var my_module = require('./my_module');
    • 原生模块
    var fs = require('fs');
    • 文件模块
    // 从当前文件开始到系统根目录依次查找 node_modules这个文件夹是否有我们想要的数据
路由
  • 新建一个简单的服务器
var http = require('http');

var server = http.createServer((request, response)=>{
    response.end('Index')
});

server.listen(3000);
  • 获取用户请求的 路由
request.url
  • 获取用户请求的参数
var url = request('url');
var param = url.parse(request.url, true);

console.log(param.query);
  • 代码整合
var http = require('http');
var url = require('url');

var server = http.createServer((request, response) => {

    if (request.url === '/node') {
        response.end('node');
    } else if (request.url === '/') {
        response.end('Index');
    }

    var param = url.parse(request.url, true);
    console.log(param.query.md);
    console.log(param.query.pw);
});

server.listen(3000);

以上是关于Node 入门的主要内容,如果未能解决你的问题,请参考以下文章

Atom编辑器入门到精通 Atom使用进阶

Cg入门20:Fragment shader - 片段级模型动态变色(实现汽车动态换漆)

Cg入门19:Fragment shader - 片段级模型动态变色

vscode代码片段建议bug

澄清 node.js + promises 片段

node入门