使用Express和Mongo的Nodejs API设计 中文字幕

课程信息
英文名API Design in Node.js Using Express and Mongo
课程来源Lynda.com
讲师Scott Moss
课程ID604259
课程时长10.5小时
下载所需积分50
解压密码课程压缩文件如果需要解压密码,则密码一律为 www.zwsub.com
所属类别Node.js MongoDB

学习如何使用Node.js构建API有时会变得非常困难

在本课程中,加入Scott Moss,解释如何使用Node.js和Mongo设计,构建,测试和部署RESTful API

Scott涵盖诸如与中间件一起工作,在Node.js中测试,应用程序组织,数据建模,使用Mongoose查询数据,使用JSON Web Token,保护路由和部署等主题

完成本课程后,您将为具有身份验证的博客应用程序构建并部署一个功能齐全的API,并且您将拥有构建自己的API所需的技能

本课程由Frontend Masters创建

它最初于2015年12月30日发布

我们很高兴在我们的图书馆举办这一培训

主题包括:

执行Node.js

使用Express

什么是中间件?

在Node.js中测试

使用Mongo和Node.js

数据建模

用Mongoose查询数据

识别敏感路线

配置部署

- (乐观的音乐) - 所以让我们跳进去吧。

每个人都应该有这个链接。

所以这些将像我们的笔记或像我们的幻灯片一样。

我不喜欢使用实际的幻灯片, 因为我就像在幻灯片上磨损一样。

所以我刚刚做了一个网站上的笔记, 这就是我们要使用的。

这将永远在这里。

我可能会把它添加到GitHub上的Read Me中, 看看我, 所以你可以看看它。

所以这是我们将要做的事情, 然后我们将有一个我们将要建立的应用程序。

那么就应用而言, 这个回购将会在这里。

如果你没有这样做, 请将其分叉或克隆, 或者任何您的过程用于获取您的资料。

酷, 所以我也想让大家都知道喜欢, 如果你在网站上有一个问题, 就像问我一样。

不要以为你要等到最后

就像我想要这样开放。

问你想要的许多问题。

如果你加入我们, 不要以为你放慢我的速度, 在网路上, 只要在频道上用K打上Mark, 只要问他, 他会自己回答, 否则会问我。

所以, 只要随便问尽可能多的问题。

如果你认为我犯了错误, 或者如果你不明白我说的话, 不要放过去。

只是完全问我

太好了, 所以...

在这个研讨会中, 我们今后三天将要做什么?

就像我说的那样, 它将围绕设计具有节点和Mongo的API以及所有的工作原理。

所以, 我们不仅要学习如何设计这些东西, 而且我们也将要建立它。

我们将学习如何测试它, 我们将要部署它, 这是有道理的。

如果向你展示如何设计一个API, 而不是如何做其余的东西, 那将不是很公平。

那只是, 这不公平。

我不会为你提供任何实用的东西。

所以你有一些JavaScript的经验。

希望大家在这里知道javascript

如果你不知道javascript, 这可能对你来说很痛苦, 除非你知道, 后台有很多经验, 你可以获得后端的概念, 或者只是通过javascript来工作, 但你应该完全知道一些javascript。

一点点经验也不会伤害。

如果你是一个全新的节点, 你不知道节点如何工作, 那没关系, 我们可以通过一些东西, 但是一些节点的经验会很棒。

但是在研讨会结束之前, 您将已经构建并部署了一个具有身份验证的博客应用程序的API。

所以就像应用程序本身一样, 你也不会建立它。

我们实际上在另一个研讨会上建了这个。

所以这是为你建立的, 前端, 客户端, 你只是为它构建服务器部分。

所以不要担心, 你知道, 在实际的网络应用程序中乱七八糟。

我们不会建在那里。

酷, 任何问题到目前为止?

好吧。

所以我们就像喜欢在节点上快速刷新一样。

谁在这里有节点的经验?

让我看看手。

好的, 有点, 有点, 没有, 好的。

所以我们要做一点点复习。

所以我们只是想通过一些例子, 谈论一些不同的东西, 它是什么, 然后从那里继续下去。

所以nodejs基本上只是在浏览器的上下文之外运行javascript的方法。

就是这样, 就是这样。

它不是一个服务器框架。

只是我想要能够在这之外运行javascript。

那就是nodejs。

它正在使用与Google Chrome相同的V8。

或者我的意思是, 实际上节点正在使用像V8的不同版本, 但它是V8。

因此, 我们可以使用节点进行许多工作, 如工具和服务器, 因为我们可以在浏览器的上下文之外运行它, 就像您可以使用Python或Ruby一样。

所以要开始, 如果你安装了节点, 你可以在终端中输入节点, 你会得到一个完整的javascript REPL。

所以我的意思是, 如果你进入你的终端与节点, 如果你只是键入节点在这里, 你现在有一个REPL在这里。

这是javascript。

好吧。

(键盘键点击)所以你有一个完整的JavaScript REPL在这里。

所以如果你想建立一个...

如果您进入Chrome中的控制台, 减去浏览器API的东西, 浏览器的具体内容, 这是一回事。

所以这就是你知道你得到节点工作的方式。

就像我说的, 但是请注意这只是javascript, 但它不在浏览器的上下文中。

哦, 顺便说一句, 如果你看到像拼写错误和东西在这里, 我真的很糟糕的拼写, 所以就像现在原谅我。

(笑)像这样。

但是, 是的, 所以它只是javascript, 但它是在浏览器的上下文之外, 所以大多数的浏览器API不存在于节点。

好吧, 像我不能进入节点, 并开始doin的事情, 我会期望在浏览器像哦, 是的, 让我只是做一个文件(键盘键点击).querySelector。

喜欢, 这不会工作。

文件未定义。

对, 所以这不是浏览器这只是浏览器外面的javascript。

所以那些API不在那里

有一些是非常有用的, 如控制台。

那还在, console.log, 控制台, 所有那些好东西, 还在那里。

但是很多其他的东西都没有。

所以请记住。

是。 - 一个问题出现了。

- [Mark]有没有办法将浏览器API添加到nodejs?

- 有一些polyfill将会模拟一些东西, 在某些情况下, 某些库, 因为节点, 并且由于这个整个通用的JavaScript的东西, 人们想要在服务器端和客户端运行javascript, 一些代码实际上需要那些嘲笑的东西, 是的, 那里有嘲笑, 但实际上你甚至不需要那些东西。

你不需要它来执行。

您可能需要像图书馆一样工作。

例如, 像其他一天我告诉某人, 我使用这个动画库就像期望这些, 窗口或这些浏览器API存在, 如果不这样做会在节点上出错。

我永远不会在节点中使用它们, 但它需要在那里才能运行。

所以有时你必须嘲笑这些东西, 但人们正在越来越多地意识到他们的代码将被运行的地步, 所以他们将他们的库定义为通用模块定义, 这将允许他们JavaScript可以在浏览器, 节点和任何类型的模块格式中运行, 无论是AMD还是CommmonJS。

这就是构建库的新方式。

所以这就像人们现在开始做的事情, 但是如果你下载的东西不是那样的, 那就像附加到窗口, 你试图在节点中运行它, 你可能会得到一个错误, 所以你可以追逐错误, 并找出自己或你知道的polyfill, 只需将其转换为节点, 看看会发生什么, 但是, 有一些polyfill确实存在。

但人们正在远离这一切。

所以如果你要安装节点, 你也会注意到你得到一个叫NPM的东西。

如果你看它, 你可能会认为它代表节点包管理器, 但它实际上并不是。

它不代表节点包管理器。

实际上我甚至不知道它是什么意思, 所以它不是节点包管理器。

所以我认为这是NPM人们想出来的双关语, 但它不是节点包管理器, 应该是这样的。

所以NPM实际上是一个非常好的包管理器, 尽管像处理依赖关系一样。

事实上, 这可能是我见过的最好的一个。

甚至不像javascript一样, 但只是一般。

所以这就像是, 如果你曾经使用过Homebrew, 或类似的东西。

这是非常相似的, 但只是在我看来更容易使用。

所以NPM的工作方式, 就像我说的那样, 它与你的安装节点捆绑在一起。

它使用这个名为package.json的文件来存储关于包的元数据以及包可能需要的包。

所以它就像读取该文件, 这取决于你给它的命令, 这就是它如何知道要安装什么, 卸载什么, 什么更新。

这只是一个文件。

那么是的, NPM是标准。

你真的没有任何其他的包管理器可以和节点一起使用。

但它们是两个独立的实体。

NPM是它自己的实体, 节点是它自己的实体, 它们恰好恰巧在一起工作, 因为它们只是这样工作。

那么是的, 你会看到很多, 只要依靠管理将通过NPM, 我们所做的一切。

还有其他包管理器就像Bower和类似的东西, 但Bower是一个节点模块, 您已经安装了NPM, 而且更多的是客户端依赖。

所以它仍然是通过NPM。

因此, 所有第三方模块在下载时都将默认放置在node_modules目录中。

所以我们使用NPM去下载一些东西, 如果我们应用程序根目前还没有一个节点模块目录, 那么将创建一个节点模块目录, 这就是我们所有的node_modules将被默认放在node_modules文件夹中的地方。

中文课程网 提供全网最全,中文翻译质量最高的国外课程视频资源(Lynda / Pluralsight)

请先登陆 如果还没有账号,请先注册