下载APP
登录
关闭
讲堂
算法训练营
Python 进阶训练营
企业服务
极客商城
客户端下载
兑换中心
渠道合作
推荐作者
当前播放: 09 | 模块:CommonJS规范
00:00 / 00:00
标清
  • 标清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看

Node.js开发实战

共57讲 · 约600分钟
3777
免费
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/...
18 | HTTP:什么是HTTP服务器?
19 | HTTP:简单实现一个HTTP服...
20 | HTTP:实现网页版石头剪刀...
21 | HTTP:用express优化石头...
22 | HTTP:用koa优化石头剪刀...
23 | RPC 调用:什么是RPC调用...
24 | RPC调用:Node.js Buffe...
25 | RPC 调用:Node.js net...
26 | 项目启动:整体需求分析
27 | 项目启动:极客时间App下...
28 | 课程详情页:极客时间详情...
29 | 课程详情页:将ES6模版字...
30 | 课程详情页:极客时间详情...
31 | 课程播放页:极客时间播放...
32 | 课程播放页:GraphQL API...
33 | 课程播放页:极客时间播放...
34 | 课程列表页:极客时间列表...
35 | 课程列表页:用 Vue/Rea...
36 | 课程列表页:极客时间列表...
37 | 性能工具:HTTP服务的性能...
38 | 性能工具:Node.js性能分...
39 | 代码优化:JavaScript代码...
40 | 代码优化:内存管理优化
41 | 代码优化:Node.js C+...
42 | 多进程优化:Node.js子进...
43 | 多进程优化:Node.js cl...
44 | 多进程优化:进程守护与管...
45 | 架构优化:动静分离
46 | 架构优化:反向代理与缓存...
47 | 概念:框架设计和工程化
48 | 概念:设计模式
49 | 概念:Serverless
50 | 服务端框架搭建:koaless
51 | 服务端框架搭建:屏蔽请求...
52 | 服务端框架搭建:完成服务...
53 | 云函数式工程实现:服务端...
54 | 云函数式工程实现:工具端...
55 | 加餐:调试 Node.js 源...
56 | 结束语
57 | 彩蛋:这是一个严肃的课程
本节摘要

精选留言(17)

  • 2019-09-25
    一听就知道那个讲webpack的老师是你的同事

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

    2
    7
  • 2019-09-28
    感觉老师的思维速度拉嘴巴好几倍
    3
  • 2019-12-05
    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'}
    展开

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

    1
  • @
    2019-10-15
    emm,老师这个exports读错了
    1
  • 2019-09-26
    画风突然转变~
    1
  • 2019-12-12
    讲得很好啊 支持点赞比心心
  • 2019-11-10
    听到那个webpack课程忍不住了,哈哈,我正好刚刚看完那个课程。
  • 2019-11-08
    小胖子的好朋友😎ི
  • 2019-10-31
    0 0为啥我这个命令没有打包出来dist。是webpack版本问题吗?
  • 2019-10-30
    哥 问下,这个如果是ES6 的import export 机制呢?

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

  • L
    2019-10-07
    为什么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外面包括号只是保证把它当成值来处理

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

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

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

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

    2
  • 2019-09-29
    老师,解释源码过程中,屏幕滚动稍快,建议慢一些

    作者回复: 好的!多谢建议!

  • 2019-09-27
    最后运行webpack的时候出错了 应该是安装失败 can not find module 'webpack-cli'

    作者回复: 没太理解你的执行步骤,或者你看看是不是和评论区的辰落同学是同一个问题?

  • 2019-09-26
    module.exports 这块不是很好理解 ~
    2
  • 2019-09-25
    老师,为什么我尝试写module.exports导出。但是在这边引用这边却没有覆盖exports的内容呢。

    b.js
    ```
    exports.hello = 'world'

    module.exprots = function minus(a,b){
      return a - b
    }

    setTimeout(()=>{
      console.log(exports)
    },500)
    ```

    a.js
    ```
    let b = require('./b')
    console.log(a)

    ```
    展开

    作者回复: 是不是单词拼写错误了,写了个exprot

    2