Node.Js
简介
创始人:瑞安·达尔
能够在服务器端运行Js的开放源代码,跨平台JS运行环境。
最重要的就是将js从前端到后端,可以通过js来写一些软件。
Node.Js是为了写高性能web服务器。
Node.Js是单线程的,所以对硬件要求不高。
特点
事件驱动,做一件事情,完成后做别的。
非阻塞IO模型(异步)
轻量高效
用途
Web服务API,比如REST。
实施多人游戏。
后端的Web服务,例如跨域,服务器端的请求。
基于Web的应用
多客户端的通信,如即时通信
下载安装
Node.js中文网
下载对应版本下一步…
控制台看一下:node --version
显示版本即安装成功
淘宝镜像
npm i -g cnpm --registry=https://registry.npm.taobao.org
使用
启动服务
在命令窗口输入node即可。
如果是js文件,node 文件全名称即可
初始化
注意:也可以不加y,由于默认全部都是y所以加了。
npm init -y
模块
模块分为三类:
核心模块(已经封装好的内置模块);
自定义模块
第三方模块(下载的模块)
exports
导出当前模块的公共方法或者是属性。也就是导出了一个指定了名字的对象。
格式exports.名称
let a=1;
let fc=function(a){
return a+1;
}
exports.a=a;
exports.fc=fc;
导出一个属性,一个方法。
module
导出当前模块的公共方法或者是属性.
var app = {
name: 'app',
version: '1.0.0',
sayName: function(name){
console.log(this.name);
}
}
module.exports = app;
两种导入的区别
原理上:
exports 返回的是模块函数
module.exports 返回的是模块对象本身,返回的是一个类
使用上:
exports的方法可以直接调用 module.exports需要new对象之后才可以调用
同时我们其实可以理解为exports是module.exports的一个引用。
require
用来在一个模块中引入另一个模块类似于C++中的Include或者JAVA中的import,参数为路径
先执行导入的模块中的代码,返回导入模块中的接口对象。
let test = require('./test.js');
该代码在本模块中引入了test.js模块。
模块在导入的时候只有第一次导入会初始化后续导入从缓存中取数据
|