Node.js 开发实战
杨浩
腾讯高级工程师
37442 人已学习
新⼈⾸单¥68
课程目录
已完结/共 57 讲
第一章:课程简介 (5讲)
Node.js 开发实战
登录|注册
留言
39
收藏
沉浸
阅读
分享
手机端
回顶部
当前播放: 09 | 模块:CommonJS规范
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 | 彩蛋:这是一个严肃的课程
本节摘要
登录 后留言

全部留言(39)

  • 最新
  • 精选
西岚
我觉得这位大佬有点脸熟,但是总想不起在哪见过,直到我今天看了ig比赛...

作者回复: 不太建议大家选Node.js打上单

2020-03-11
3
29
Taopoppy
一听就知道那个讲webpack的老师是你的同事

作者回复: 哈哈哈哈哈后面还会有其他课程的广告的

2019-09-25
3
25
流花
module.exports和exports一开始都是一个空对象{},实际上,这两个对象指向同一块内存。这也就是说module.exports和exports是等价的(前提是:不去改变它们指向的内存地址)。 例如: exports.age = 18和module.exports.age = 18,这两种写法是一致的(都相当于给最初的空对象{}添加了一个属性,通过require得到的就是{age: 18})。 但是: require引入的对象本质上是module.exports。这就产生了一个问题,当 module.exports和exports指向的不是同一块内存时,exports的内容就会失效。 例如: module.exports = {name: 'jikebang'}; exports = {name: 'liuhua'}

作者回复: 可以先这么理解

2019-12-05
2
17
Geek_27027f
webpack执行的那一句命令是什么,我安装的webpack3.0,执行完没有打包出来文件,webpack4.0执行完报错,【Invalid configuration object. Webpack has been initialized using a configuration object that does not match the API schema. - configuration.devtool should match pattern "^(inline-|hidden-|eval-)?(nosources-)?(cheap-(module-)?)?source-map$". BREAKING CHANGE since webpack 5: The devtool option is more strict. Please strictly follow the order of the keywords in the pattern.】 老师用的webpack是哪个版本呀?

作者回复: 最新版的webpack不支持devtool=none了,可以直接用inline-source-map

2020-10-14
7
6
L
为什么webpack最后导入的对象方向使用了括号进行包裹呢?这里不是IIFE吧 /***/ "./lib.js": /*!****************!*\ !*** ./lib.js ***! \****************/ /*! no static exports found */ /***/ (function(module, exports) { console.log('lib'); exports.hello='hello' setTimeout(()=>{ console.log(module.exports); console.log(exports); },1000) module.exports=function test(){ } /***/ })

作者回复: 在function外面包括号只是保证把它当成值来处理

2019-10-07
2
3
辰落
最后webpack --devtool none --mode development --target node index.js 的命令老是有问题,在网上找了答案,但总是无法运行,显示bash: webpack: command not found,这是为什么呢?

作者回复: 如果你是把webpack装到了本地而不是全局,就比较容易出现这个问题。node安装的时候除了npm还会提供一个npx命令帮你解决这个问题

2019-10-01
3
許敲敲
哥 问下,这个如果是ES6 的import export 机制呢?

作者回复: 我觉得node的import export支持还不够好,就没讲。babel转的话也是转成commonjs

2019-10-30
2
丫头
exports导出的变量对象跟require引入的结果对象是同一个引用。 那在index.js文件中新增的additional,能在第三个文件,假设:list.js中引入lib.js文件后获取到并使用吗? 换句话说就是:index.js中对lib.js的改动会被保存起来,并可以提供给其他的在index.js之后引用lib.js的文件使用吗?

作者回复: 可以的。所以模块可以当一个全局的存储对象用。

2019-09-29
3
2
Michael 🛡YZY
关于exports vs module.exports的区别和机制 可以参考:https://stackoverflow.com/questions/7137397/module-exports-vs-exports-in-node-js

作者回复: 不错的参考资料

2021-07-19
1
demo123567
在require一个模块时,module.exports的优先级要高于exports,所以如果指定了module.exports,那么就会使用module.exports指定的对象,如果没有指定module.exports,就会使用exports对象

作者回复: 暂时这么理解也没问题。但实际上并不存在优先级这个说法,只是module.exports在初始状态下就等于exports

2020-10-21
1
收起评论