nodejs-模块系统、npm、package.json、Express

模块系统

模块分类

  • 核心模块
    • fs
    • http
    • url
    • path
    • os
    • 等等
  • 第三方模块
    • art-template
    • npm下载的模块
  • 自己写的模块

    require加载机制和规则

  • 无论加载什么模块,优先从缓存中加载
    • 第一次我要加载a,a又依赖b,那么我会将a和b都加载过来。
    • 第二次我要加载b,我就不需要重新加载b,因为a依赖b,所以缓存中有b,这样我就直接读缓存
  • 核心模块直接加载
  • 路径形式的文件模块,按路径加载
  • 第三方模块(以art-template为例)
    • 找node_modules/art-template/package.json里的main
    • index.js备选项
    • 如果不行,进入上一级目录找node_modules
    • 如果还找不到,继续往上找,直到磁盘根目录还是找不到就报错

      循环加载

  • 如果a模块引入b,b模块有引入a的话,就说明本身设计就有问题

npm

  • node package manager

  • npm命令

    npm -v 查看版本
    npm install –global npm 更新npm
    npm init 初始化项目要的包,在目录中生成node_modules和package.json
    npm init -y 跳过向导,快速生成package.json
    npm install 包名 安装包
    npm install –save 包名 下载并保存依赖项到package.json中
    npm i -S 包名 (简写)
    npm uninstall 包名 依赖项会保存,不会被删掉
    npm uninstall –save 包名 删依赖项
    npm un -S 包名 (简写)
    npm –help 查看帮助
    npm 操作 –help 查看具体操作的帮助
    npm config list 查看配置信息
  • 不想安装cnpm又想用淘宝服务器来下载

    1
    npm install jquery --registry=https://registry.npm.taobao.org

    但每次这么加参数很麻烦,可以这样

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

package.json

建议每个项目都要有一个package.json文件(对项目的说明)
package.json可以通过npm init初始化出来
根据init向导填写项目信息
如果项目中的node_modules没了也不用担心,
npm install 会根据package.json把所有的依赖项都下回来

Express初探

原生的http在某些方面表现不足以应对我们的开发需求

1
2
3
4
5
6
7
8
9
10
11
12
var express = require('express')
var app = express()

app.use('/public/', express.static('./public/'))

app.get('/about', function (req, res) {
res.send('hello express')
})

app.listen(3000, function () {
console.log('running')
})

之后我真正独立地用express重写了留言板demo,见下一篇

# nodejs

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×

// tidio机器人助手