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 的版本演化:
发展历程
混沌期:发布初期,创始人 Ryan Dahi 和他的团队开发出了以Web为中心的 “web.js”, 一切都是非常的混乱,API大多数还处于研究阶段。
成长期:Node的核心成员 Isaac Z. Schlueter 开发出奠定了Node如今地位的重要工具 - npm,同时也为他后来成为Ryan的接班人的重要条件。
高速期:connect、express、socket.io 登库的出现吸引了一大波爱好者加入到了Node开发者的阵营。CoffeeScript 的出现更是让不少 Ruby 和 Python 的开发者找到了学习的理由。期间一大波以Node作为运行环境的CLI工具涌现,譬如 less,UglifyJS,browserify,grunt等。
更迭期:经过了一大批一线工程师的探索实践后,Node 也开始进入了时代的更迭期。 ES6 也开始出现在Node的世界。
分裂期:ES6 的发展越来越明显,v8 也对 ES6 中的部分特性实现了支持。后来,诞生了Io.js 分支,再后来也回到了 Node 的主线上。
飞速发展期:ES2015 的发展和最终定稿,很多利用 ES2015 特性开发的新模块出现,如原 核心团队所开发的 。
相关资料:
安装配置
Windows:
下载node.js 安装包进行安装
Mac:
brew install node
下载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 实现爬虫
request模块 获取目标的html代码
cheerio模块对HTML进行处理(语法类似jQuery)
初始化项目:
npm init
npm install express request cheerio --save
Node.js 比较流行的框架
Express
Sails.js
KOA
可以和任何的第三方数据库进行通信;
可以使用任何的用户认证方式;
可以按照需要定义工程目录;
以上是关于Node.js 基础的主要内容,如果未能解决你的问题,请参考以下文章