博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
node.js介绍
阅读量:4326 次
发布时间:2019-06-06

本文共 2501 字,大约阅读时间需要 8 分钟。

概念:

1、能够运行javascript的服务器

2、用javascript语言编写的后端

3、强大的包管理器npm,可以安装依赖插件

->特性:
1).事件驱动
2).非阻塞I/O模型
3).轻量高效
node.js使用场景(实时聊天、电子商务)
1).高并发/低业务的网络请求
2).实时应用

node.js安装和使用
1.官网:参考网站:http://nodejs.cn/
1).初始化项目
npm init (V8.1版本的需要跳过配置npm init -y)
2).添加依赖
npm install packageName --save-dev
3).也可以根据package.json中已经设置好的依赖名字,做全部安装.
npm install

node.js编程基础

1.模块
->使用一个npm安装模块,例如gulp
1).main.js中直接用require来注入.
require()会在node_modules这个文件夹里去找.
2).如果是自定义的模块index.js,则需要按照相对路径来写.
3).导入时可以省略 .js 后缀
->自定义模块
要想把模块暴露出来,需要用关键字exports来暴露API
index.js 想让它暴露出来一个API
exports.goodTeacher = function(){
console.log('MR.Wang is a best teacher of the world!');
}
2.node.js的文件系统(fs),是一个系统的依赖.
1.导入文件系统fs依赖
var fs = require('fs');
2.读取
// 同步读取
var data = fs.readFileSync('data.txt');
// 打印出来,原生是buffer数据,需要转码
console.log(data.toString());
console.log('结束');
3.node.js的回调函数
->node.js的异步编程的直接体现就是回调函数.
// 异步读取
// 异步读取
var time = new Date();
fs.readFile('data.txt', function (err,data) {
console.log(data.toString());
console.log('读取本地文件耗时:' + (new Date() - time)+'毫秒');
});
console.log('完毕');
4.readFile()// 读取文件
->fs.readFile(path,[option],callback)
->callback函数有两个参数function(err,data){}
1).err是读取文件失败后出发的错误对象
2).data是从文件中读取的数据.

5.writeFile()// 写入文件

->fs.writeFile(path,data,[option],callback)
var str = '此情此景,我想吟诗一首!'
fs.writeFile('data1.txt', str, function (err) {
if (err) {
throw err;
}
console.log('写入成功!');
});
->默认的第三个参数是{flag='w'},是写的操作.会清空掉文件.如果想要追加内容,可以设置{flag='a'}
fs.writeFile('data1.txt', str,{flag:'a'}, function (err) {
if (err) {
throw err;
}
console.log('写入成功!');
});
->{flag:'w'}为默认值,w代表写文件,a代表追加内容,r代表读取文件.
6.创建目录
fs.mkdir(path,[mode],callback)// 创建目录
->path是需要创建的目录
->[mode]是目录权限(默认0777)
->callback是回调函数
7.删除目录
fs.rmdir(path,callback);// 但是只能删除空目录
8.读取目录
fs.readdir(path,callback);// 读取文件目录
->回调函数里有两个参数,function(err,files){}
->err表示读取失败触发的错误对象.
->files表示读取的文件目录,是一个数组.

3.http模块

->提供web服务的一个模块,是系统内置的服务
->手写一个http服务
->引入http模块
var http = require('http');
->创建一个服务
http.createServer(function(req,res){
res.writeHead(200,{'Content-Type':'text/html'});
res.write('<head><meta charset="utf-8"></head>')

res.write('hello world');

res.end('goodBye');

}).listen(8888);

console.log('sever success');
->浏览器地址栏输入:localhost:8888或者127.0.0.1:8888

拓展:
服务端:
->服务器:
1).就是一台电脑,用来提供其他客户机的服务请求.
2).软件服务器:DNS服务器,Web服务器,数据库服务器,FTP服务器,SMTP/POP3服务器
->服务器的操作系统
windows server/Linux(Ubuntu/centos/红旗/麒麟)/Unix
->服务器的服务环境:
Apache/Tomcat/IIS
LMAP(Linux+Apache+Mysql/MariaDB+Perl/PHP/Python)

转载于:https://www.cnblogs.com/zhaodagang8/p/7821719.html

你可能感兴趣的文章
LimeJS指南3
查看>>
关于C++ const成员的一些细节
查看>>
《代码大全》学习摘要(五)软件构建中的设计(下)
查看>>
window下git,TortoiseGit安装,以及和github托管项目
查看>>
POJ 1330 最近公共祖先LCA(Tarjan离线做法)
查看>>
独立看门狗及其实现的热启动
查看>>
深入学习java虚拟机第二版学习笔记
查看>>
实验四 白盒测试
查看>>
Zabbix proxy配置
查看>>
python Image 模块处理图片
查看>>
Java NIO框架 Mina、Netty、Grizzly
查看>>
gogs: 如何恢复repository
查看>>
业务、数据和组织:阿里巴巴的中台不只是技术战略
查看>>
oracle中使用java存贮过程
查看>>
DB2 sql报错后查证原因与解决问题的方法
查看>>
所有 HTTP 状态代码及其定义
查看>>
Linux C -> symlink 和 readlink -> 符号链接
查看>>
使用deque模块固定队列长度,用headq模块来查找最大或最小的N个元素以及实现一个优先级排序的队列...
查看>>
.net core5
查看>>
SignalR
查看>>