Node.js 01

1.为什么JavaScript可以在浏览器中被执行

不同的浏览器使用不同的JavaScript解析引擎:
chrome浏览器 ==> V8 (最好)

Firefox浏览器 => DdinMonkey(奥丁猴)

Safri浏览器 => JSCore

IE浏览器 => Chakra(查克拉)

...

2.

什么是Node.js

node.js是一个基于chrome V8引擎的JavaScript运行环境

运行环境

  模块化

概念:模块化是指解决一个复杂问题时,自顶向下逐层把系统划分成若干模块的过程。对于整个系统来说,模块是可组合、分解和更新的单元

·        编程领域中的模块化,就是遵循固定的规则,把一个大文件拆分成独立并互相依赖多个小模块

·  好处:

1.提高了代码的复用性

2.提高了代码的可维护性

3.可以实现按需加载

模块化的规范

分类

· 内置模块(内置模块是由node.js官方提供的,例如 fs , path , http 等)

· 自定义模块(用户创建的每个 .js文件,都是自定义模块 )

· 第三方模块由第三方开发出来的模块,并非官方提供的内置模块,也不是用户创建的自定义模块,使用前需要先下载

加载模块

使用强大的require()方法,可以加载内置模块、自定义模块、第三方模块进行使用。

const  ×× = require('××')

向外共享模块作用域中的成员

1.module对象

在每个 .js 自定义模块中都有一个module对象,它里面存储了和当前模块有关的信息

console.log(module)

2.module.exports对象

在自定义模块中,可以使用module.exports对象,将模块内的成员共享出来,供外界使用。

外界使用require()方法导入自定义模块时,得到的就是module.exports所指向的对象。

(自定义模块.js)
//向module.exports对象上挂载username属性
module.exports.username = 'zs'

//向module.exports对象上挂载sayHello方法
module.exports.sayHello = function(){

console.log('Hello!')
}


(test.js)
const m = require('./自定义模块')
console.log(m)

exports 和 module.exports 的使用误区

时刻谨记,require() 模块时,得到的永远是module,exports指向的对象

包(第三方开发出来的)

· 包是基于内置模块封装出来的,提供了更高级、更方便的API,极大的提高了开发效率

在哪搜索下载? 搜索www.npmjs.com 全球最大的包共享平台

下载 : registry.npmjs.org

npm -v (npm 包管理工具,就可下载包)

格式化时间的高级做法

//导入moment 包
const moment = require('moment')

//调用format()方法
const dt = moment().format('YYY-MM-DD HH:mm:SS')

const.log(dt)

安装包的命令

npm install 包的全名称
npm i 包的全名称
const moment=require('moment')

const s=moment().format('YYYY-MM-DD HH:mm:ss')
console.log (s)

 安装包后项目将多一个叫node_modules的文件和package-lock,json的配置文件。

node_modules的文件用来存放所有已安装到项目中的包。require()导入第三方包时,就是从这个文件目录中查找并加载包

package-lock,json的配置文件用来记录node_modules目录下的每个包的下载信息,例如包的名字、版本号、下载地址等。

包的语义化版本规划

包的版本号是以“点分十进制”形式进行定义的,总共有三位数,例如2.24.0

第一个数字:大版本

第二个数字:功能版本

第三个数字:bug修复版本(个数)

只要前面的版本号增长了,则后面的版本号归零

卸载包

npm uninstall 包的完整名称

devDependencies节点

如果某些包只在开发阶段会用到,在项目上线之后不会用到,则建议把这些包记录到devDependencies节点中。与之对应的是,项目上线后还需要的,则建议把 这些包记录到dependencies节点中。

npm i 包名 -D
npm install 包名 --save-dev
(devDependencies)

下包镜像源

查看当前的下包镜像源

将下包的镜像源切换到淘宝的镜像源

npm config set registry=https://registry.npm.taobao.org/

 nrm

通过npm包资源管理器,将nrm安装为全局可用的工具
npm i nrm -g
查看所有可用的镜像源
nrm ls
将下包的镜像源切换为taobao镜像
nrm use taobao

全局包

在执行npm install 命令时,如果提供了-g 参数,则会把包安装为全局包

 全局包会被安装到C:\Users\用户目录\AppData\Roaming\npm\node_modules目录下

npm i 包名 -g
npm uninstall 包名 -g

express

用来创建web服务器

对于前端程序员来说,最常见的两种服务器:

1.web网站服务器:专门对外提供web网页资源的服务器

2.API接口服务器:专门对外提供API接口的服务器

安装

npm i express@4.17.1

创建基本的web服务器

//导入express
const express=require('express')
//创建web服务器
const app=express()
//调用app.listen(端口号,启用成功后的回调函数) 启动服务器
app.listen(80,() =>{
    console.log('express server running at http://127.0.0.1')
}
)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值