Node.js 开发实战
杨浩
腾讯高级工程师
37442 人已学习
新⼈⾸单¥68
课程目录
已完结/共 57 讲
第一章:课程简介 (5讲)
Node.js 开发实战
登录|注册
留言
15
收藏
沉浸
阅读
分享
手机端
回顶部
当前播放: 29 | 课程详情页:将ES6模版字符串改造成模板引擎
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 | 彩蛋:这是一个严肃的课程
本节摘要
登录 后留言

全部留言(15)

  • 最新
  • 精选
蛋黄酱
这模版引擎竟然还要自己写xss

作者回复: 正好可以讲过程和原理,哈哈哈

2019-11-09
3
靠近我,温暖你
老师,后期会有mongoose 数据库的讲解实例吗?

作者回复: 时间关系这个没安排上

2019-12-18
1
Lucia
请问杨老师,模板helper函数的用途是什么

作者回复: 做一些常用的操作,比如日期格式转换之类的。

2021-10-01
Geek_216fd5
temlateMap[key] = vm.runInNewContext( (function() { return ${temp} }); , context 这里报错啦: return ${temp} ^ SyntaxError: Unexpected token '{'

作者回复: 漏了 ` 引号吧

2021-07-16
九千七
中间有一段代码是 include:function(name) {return templateMap[name]( ) } ,这里应该是写错了吧,templateMap[name]返回的是字符串,不是函数啊

作者回复: 没写错,就是函数

2021-04-24
4
拯救不开心
老师您好,away 提问的 关于 with 的问题,还是没有理解 “为了模版里面写插值符号方便”,没有 with,写不了吗

作者回复: 理论上用node.js的vm模块也是可以用的,但是效率会低很多。一般的模板引擎都会使用with。

2020-02-01
2
away
源码里有 ```vm.runInNewContext( `(function (data) { with (data) { return \`${fs.readFileSync(templatePath, 'utf-8')}\` } })`,``` , 请问为什么 with 是必须的呢,麻烦解答一下, 找资料没找到。

作者回复: 只是为了模版里面写插值符号方便

2019-12-26
卡卡
如果使用node 做BFF的话,视频中讲到的页面都是HTML开发的,如果我想使用recat 或 vue这种脚手架工程化开发的话,这种框架结构node所扮演的又是什么角色。

作者回复: react和vue有node端渲染的能力。列表页的实现里有用到。

2019-11-06
、轻
这一节很有用
2023-09-12
change
感觉看着有点复杂,我这样写也能实现 include 效果,不知道有没有问题。 const vm = require('vm') const user = { name: 'xxx' } const templateMap = { templateA: '`<h1>${include("templateB", user)}</h1>`', templateB: '`<p>${name}: good good study, day day up!</p>`' } const context2 = { user, include: function(name, parmas) { return vm.runInNewContext(templateMap[name], parmas) } } const templateResult3 = vm.runInNewContext(templateMap.templateA, context2) console.log(templateResult3) // <h1><p>xxx: good good study, day day up!</p></h1>
2022-01-21
1
收起评论