Node.js 基础

Posted 爱又米前端

tags:

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

Node.js 基础

  • 诞生背景

  • 安装配置

  • 使用说明

  • npm 脚本

  • Node.js 比较流行的框架

Node.js 是基于Chrome V8引擎的javascript运行环境。Node.js 使用了一个事件驱动、非阻塞式I/O的模型,使其轻量又高效。Node.js 的包管理工具npm, 是全球最大的开源库生态系统。

诞生背景

Node.js 是一个新兴的开发工具,诞生于2009年。年龄上不如Python、Ruby、php等,但确实是有史以来发展最快的开发工具。在这短短几年内,可以看到Node从开始的一无所有到如今的飞速发展,这是没有任何其他开发工具能够媲美的。

Node.js 的版本演化:

发展历程

  1. 混沌期:发布初期,创始人 Ryan Dahi 和他的团队开发出了以Web为中心的 “web.js”, 一切都是非常的混乱,API大多数还处于研究阶段。

  2. 成长期:Node的核心成员 Isaac Z. Schlueter 开发出奠定了Node如今地位的重要工具 - npm,同时也为他后来成为Ryan的接班人的重要条件。

  3. 高速期:connect、express、socket.io 登库的出现吸引了一大波爱好者加入到了Node开发者的阵营。CoffeeScript 的出现更是让不少 Ruby 和 Python 的开发者找到了学习的理由。期间一大波以Node作为运行环境的CLI工具涌现,譬如 less,UglifyJS,browserify,grunt等。

  4. 更迭期:经过了一大批一线工程师的探索实践后,Node 也开始进入了时代的更迭期。 ES6 也开始出现在Node的世界。

  5. 分裂期:ES6 的发展越来越明显,v8 也对 ES6 中的部分特性实现了支持。后来,诞生了Io.js 分支,再后来也回到了 Node 的主线上。

  6. 飞速发展期:ES2015 的发展和最终定稿,很多利用 ES2015 特性开发的新模块出现,如原  核心团队所开发的 。

相关资料:

安装配置

Windows:

  1. 下载node.js 安装包进行安装

Mac:

  1. brew install node

  2. 下载pkg安装文件

使用说明

test.js

console.log('This is a Node.js program.')
console.log(process.env.HOMEPATH)

node test.js

node读取文件

var fs = require('fs')
var data = fs.readFileSync('input.txt')
console.log(data.toString());
console.log('done!')

readFileSync 表示同步读取,如果中间出现js的错误,就会导致读取失败。

enter code herevar fs = require('fs')
fs.readFile('input.txt', (err, data) => {
    if(err) {
        return console.error(err)
    }
    console.log(data.toString());
});
console.log('done!);

node创建服务器

enter code herevar http = require('http')
    response.writeHead(200, { 
        'Content-Type': 'text/plain'
    });
    response.end('hello node')
}).listen(8888);
console.log('Server running at 8888');

npm 脚本

  • npm 允许在 package.json 文件里面,使用 scripts 字段定义脚本命令。

这些定义在 package.json 里面的脚本,就成为 npm 脚本:

  • 项目的相关脚本,可以集中在一个地方

  • 不同项目的脚本命令,只要功能相同,就可以有同样的对外接口。用户不需要知道怎么测试你的项目,只需要运行 npm run test 即可。

  • 可以利用 npm 提供的很多辅助功能。

查看当前项目的所有 npm 脚本命令,可以使用不带任何参数的 npm run 命令。

npm脚本原理

npm 脚本的原理非常简单。每当执行 npm run,就会自动新建一个 shell,在这个 shell 里面执行指定的脚本命令。npm run 新建的 shell,会将当前目录的 node_module/.bin 子目录加入 PATH 变量,执行结束后,再将PATH变量恢复原样。

 {"name": "aixuedai project",
 "version": "1.0.1",
 "description": "aiyoumi gulp tasks",
 "main": "gulpfile.js",
 "scripts": {"view": "node view.js"},
 "author": "aixuedai"
}

使用 node 实现爬虫

  1. request模块 获取目标的html代码

  2. cheerio模块对HTML进行处理(语法类似jQuery)

初始化项目:

npm init
npm install express request cheerio --save

Node.js 比较流行的框架

Express

Sails.js

KOA

  1. 可以和任何的第三方数据库进行通信;

  2. 可以使用任何的用户认证方式;

  3. 可以按照需要定义工程目录;


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

vscode代码片段建议bug

node.js基础内容

Node.js概述及编程基础

node.js零基础详细教程:node.js操作mongodb,及操作方法的封装

node.js教程基础:第一个node.js程序

从Node.js Stream写入多个文件