Node.js 开发实战
杨浩
腾讯高级工程师
37442 人已学习
新⼈⾸单¥68
课程目录
已完结/共 57 讲
第一章:课程简介 (5讲)
Node.js 开发实战
登录|注册
留言
18
收藏
沉浸
阅读
分享
手机端
回顶部
当前播放: 11 | 模块:npm
00:00 / 00:00
高清
  • 高清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.75x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看
01 | 课程介绍
02 | 内容综述
03 | Node.js是什么?
04 | Node.js可以用来做什么?
05 | 课程实战项目介绍
06 | 什么是技术预研?
07 | Node.js开发环境安装
08 | 第一个Node.js程序:石头剪刀布游戏
09 | 模块:CommonJS规范
10 | 模块:使用模块规范改造石头剪刀布游戏
11 | 模块:npm
12 | 模块:Node.js内置模块
13 | 异步:非阻塞I/O
14 | 异步:异步编程之callback
15 | 异步:事件循环
16 | 异步:异步编程之Promise
17 | 异步:异步编程之async/await
18 | HTTP:什么是HTTP服务器?
19 | HTTP:简单实现一个HTTP服务器
20 | HTTP:实现网页版石头剪刀布
21 | HTTP:用express优化石头剪刀布游戏
22 | HTTP:用koa优化石头剪刀布游戏
23 | RPC 调用:什么是RPC调用?
24 | RPC调用:Node.js Buffer编解码二进制数据包
25 | RPC 调用:Node.js net建立多路复用的RPC通道
26 | 项目启动:整体需求分析
27 | 项目启动:极客时间App下载页开发
28 | 课程详情页:极客时间详情页需求解构
29 | 课程详情页:将ES6模版字符串改造成模板引擎
30 | 课程详情页:极客时间详情页需求实现
31 | 课程播放页:极客时间播放页需求解构
32 | 课程播放页:GraphQL API服务
33 | 课程播放页:极客时间播放页需求实现
34 | 课程列表页:极客时间列表页需求解构
35 | 课程列表页:用 Vue/React 进行服务端渲染
36 | 课程列表页:极客时间列表页需求实现
37 | 性能工具:HTTP服务的性能测试
38 | 性能工具:Node.js性能分析工具
39 | 代码优化:JavaScript代码性能优化
40 | 代码优化:内存管理优化
41 | 代码优化:Node.js C++插件
42 | 多进程优化:Node.js子进程与线程
43 | 多进程优化:Node.js cluster模块实战与源码解读
44 | 多进程优化:进程守护与管理
45 | 架构优化:动静分离
46 | 架构优化:反向代理与缓存服务
47 | 概念:框架设计和工程化
48 | 概念:设计模式
49 | 概念:Serverless
50 | 服务端框架搭建:koaless
51 | 服务端框架搭建:屏蔽请求细节
52 | 服务端框架搭建:完成服务端框架
53 | 云函数式工程实现:服务端代码
54 | 云函数式工程实现:工具端代码
55 | 加餐:调试 Node.js 源码
56 | 结课测试&结束语
57 | 彩蛋:这是一个严肃的课程
本节摘要
登录 后留言

全部留言(18)

  • 最新
  • 精选
带带大师兄
更新的太少了...

作者回复: 加班太严重了…国庆后会快马加鞭的

2019-09-25
4
11
小白
推进用nvm管理本地开发机器上的node版本,用nrm管理npm镜像地址

作者回复: 是的,这两个也是非常优质常用的工具。你提的这点非常有价值。

2019-09-26
10
zcdll
用 sudo 安装包,尤其是 安装 cnpm 的话,很可能会带来更多的权限问题。

作者回复: 都说到这了,就来分享一下你的惨痛经历吧

2019-09-25
7
Geek.S.
node 模块加载过程 1. 加载模块: `require('<module>');`  2. 加载模块会运行模块代码 3. 模块导入支持绝对路径和相对路径, 相对路径永远是该文件对应的路径开始 4. 加载模块建议都带上后缀 5. 加载时, 有两种情况: a. `<module>` 是路径名, 如: `./index2` , 如果没值指定后缀名, 那么会按下面顺序一次加载, 直到抛出异常 MODULE_NOT_FOUND ① `.js`  ② `.json`  ③ `.node`  ④ `<module>` 文件夹 -> `package.json` 文件 ->  `main` 字段(入口文件) -> `index.js` / `index.json` / `index.node`  b. `<module>` 不是路径, 直接就是一个模块名称, 如: `http`  ① 先在核心模块查找, 是否有和给定名字一样的模块 ② 如果核心模块没有, 那就认为是第三方模块.  ③ 找当前 js 文件所在目录找 `node_modules` 文件夹, 如果没有, 会去上一级目录找, 以此类推, 直到磁盘根目录停止查找, 若还找不到, 则抛出异常(PS: 这个查找目录顺序可以打印 `process.mainModule['paths']` 进行查看: `console.log(process.mainModule['paths']`) ④ 如果在某一级 `node_modules` 文件夹下找到相应模块, 则进行加载

作者回复: 很棒点赞

2020-03-24
6
丫头
依赖包安装方式: # 1. 本地安装 npm install <packageName> # 2. 全局安装 npm install <packageName> -g 一、如下两条命令: 1. npm install <packageName> --save-dev 2. npm install <packageName> --save Q1:这两条命令应该怎么理解呢?它们跟“依赖包安装方式”的命令存在怎样的关系?何时需要用到--save、--save-dev这些个参数?即,这两条命令的使用场景是怎样的呢? 二、package.json中两个字段,如下: 1. devDependencies字段:开发时需要的依赖列表。 2. dependencies字段:使用当前包所需要依赖的包列表。 Q2:这两个字段存在怎样的关系?程序运行时读取依赖包的规则是怎样的呢?执行上述四条指令后,依赖包的名称、版本号键值对与字段的对应规则是怎样的呢? 三、一个项目从立项开发到发布通常会经过本地、开发、测试、灰度、生产这么些环境(具体项目环境视各公司运维情况有调整)。 Q3:针对项目运行的不同环境,项目依赖包的安装有哪些规范或者注意点吗?老师在项目开发中会做怎样的考量呢?

作者回复: 1. 一般来说,只有开发环境才需要的依赖就会用dev。比如gulp、webpack大部分情况是在本地开发环境用到,这时就用dev。否则不用。 这个参数的作用是,你在安装node项目依赖的时候,可以通过 npm install --production来指定不安装dev的包。 2. 两个字段的关系如1所说。读取依赖包的规则可以百度搜索以下require的工作机制。名称版本号这些,dev和非dev是没什么区别的 3. 如1所说,开发环境用到的我会加-dev参数,把包依赖放到devDependencies里。

2019-10-01
3
丫头
诶?gulp去哪里了? gulp安装好后是立即执行了uninstall命令咩?在dependencies出现了一下立马就消失了哦!

作者回复: 说话结巴被剪辑师剪掉了

2019-10-01
2
1
jonnypppp
我有个疑问: 安装依赖后,查看node_module 里面的依赖包A,这个A 没有它自己的node_module依赖,时而有,时而没有,咋回事~安装完没有报错,显示成功。

作者回复: 包的依赖不一定会放在自己的文件夹里,有可能就是在node_modules的另一个文件夹里。npm称这个功能为flat。

2019-09-27
2
1
LIUeng
你好,老师!关于npm发布自己的包时,自己包中依赖的node_modules该如何处理?(遇到过一个问题,install自己的包时,包中依赖的包没有install)

作者回复: 你自己包里的package.json有声明对其他包的依赖吗?如果有的话,安装的时候就会自动安装依赖包。

2019-09-27
3
Pluto
不要求更新快或者更新多少 主要是质量不能减 慢点慢点无所谓的
2019-09-26
19
Taopoppy
更新慢没关系,质量不能下去
2019-09-26
10
收起评论