Node.js

Node.js:Adonis 框架 Service Providers

前面我们了解过怎么把依赖绑定到 IoC 容器里,下面继续往后看看关于 Service Providers 的东西,了解怎么发行与 Adonis 生态系统相兼容的包。

介绍

ioc.bind 方法可以用来注册绑定,不过现在还没有明确的说明要在哪里调用这个方法。这就是 Service Providers 做的事情。Service Providers 就是简单的类,里面带着一些生命周期方法可以用来注册与启动绑定。

Node.js:Adonis.js 框架 IoC container

IoC:Inversion of Control,字面的意思是控制反转,它是一种程序设计的思路。Container 不装在哪出现,一般它都指的就是容器,只不过在什么地方出现,容器里装的东西都不太一样。下面了解一下 Node.js 应用框架 Adonis.js 里的 IoC 容器。

问题

无用抽象

先来看个程序设计问题,比如在应用里要确定数据库只被连接一次,可以把配置数据库用的代码单独放在一个文件里,然后在应用的其它地方导入这个文件里包含的东西。这段代码类似下面这样:

lib/database.js

Node.js:应用开发学习路径

你想了解一项新技术,如果发现宁皓网有相关课程, 一定要从宁皓网开始:)下面是一个 Node.js 应用开发的学习路径,视频里出现的每一行代码,都亲手敲几遍。

准备

Node.js 就是让你用 JavaScript 语言开发应用,所以在学 Node.js 之前最好先了解一下 JavaScript 语言本身。先完成下面这两个课程。

  1. JavaScript 基础
  2. ES6 / ES2015

Node.js:用 Express 与 Multer 创建文件上传接口

最近测试小程序的接口,需要我提供一个后端服务的文件上传接口。可以使用 Node.js  创建一个这样的上传文件的接口。主要会用到 Express,Multer 这两个 Package。另外可以把上传的结果存储在数据库里,我用了一个叫 Loki 的数据库,这个数据库会在内存里运行,使用简单,速度快。

准备项目

为项目准备一个 package.json 文件。

npm init -y

安装包

npm install express multer cors --save

express 用来创建接口,multer 可以处理文件的上传,cors 可以方便的解决跨域请求问题,比如你的前端应用或者小程序要请求后端服务接口,就会有跨域问题,你得设置一些头部信息解决这个问题。

再安装一个开发依赖叫 nodemon,它会帮我们重启服务。

npm install nodemon --save-dev

文件上传

在项目下面创建一个 upload.js,可以放在 src 目录的下面。内容如下:

src/upload.js

新发布一波 Node.js 课程

Node.js 起步》,《Node.js 与 MongoDB》,《Node.js:REST 接口》都是最近发布的新课程。后面还会有 JSON Web Token(JWT) ,以及基于 JSON Web Token 身份验证的课程。下面回顾一下宁皓网上跟 Node.js 相关的课程包

《Node.js 起步》

为 Node.js 项目做些准备,了解如何在系统上安装多个版本的 Node.js,在本地开发的时候可以随便切换不同的版本。然后了解 Node.js 上的模块,怎么样使用内置的模块,第三方模块 ,还有自定义的模块。

Node.js:REST 接口

路由 Routes

了解了 Node.js ,学会了用 Node.js 处理 MongoDB 数据库,现在我们可以为应用开发一套 RESTful 接口。 就是在应用里提供一些地址,用户可以在这些地址,使用不同的 HTTP 的方法去做不同的事情。比如创建,读取,更新,删除应用里的资源。

Node.js 与 MongoDB

连接到 MongoDB 数据库

刚发布了新课程《Node.js 与 MongoDB》,介绍了使用 Node.js 控制 MongoDB 数据库的方法。写入,读取,更新,还有删除数据。在本地安装一个 MongoDB,跟着 MongoDB 的课程练习一下,先了解一下 MongoDB 本身提供的方法去处理数据库里数据。

让 Node.js 与 MongoDB 结合到一块儿,需要一套方法,MongoDB 官方提供了一套方法叫:node mongodb native。课程里我用的是 Mongoose,这个 Mongoose 有点像是 Laravel 里的 Eloquent, 或者 Rails 框架里的 Active Record,可以到宁皓网上找一下这两个框架的课程,先去了解一下,会有帮助。

Node.js 学习

明白 JavaScript 语言,你就会用 Node.js 了。最常见的运行 JavaScript 语言的地方就是用户的浏览器,几乎所有的浏览器上都有个 JavaScript 引擎,这个引擎负责运行在页面中嵌入的 JavaScript 代码。代码是在用户的浏览器上运行的,用户那头叫前端(Frontend),服务器这头叫后端(Backend)。Node.js 就是把 Google 浏览器上的 V8 引擎(JavaScript 引擎)搬到了服务器上,从此以后,JavaScript 语言就可以在后端运行了。

Node.js 除了能让服务端运行 JavaScript,它的核心还自带了一些功能模块,你可以用这些现成的模块去做很多事情。比如你可以创建 Web 服务,可以加密与解密,可以处理文件等等。除此以外,Node.js 的社区提供了海量的功能模块,你可以在 npmjs.com 上搜索到,找到想要的模块,安装到自己的项目里就可以用了。

基于 Token 的身份验证:JSON Web Token(附:Node.js 项目)

最近了解下基于 Token 的身份验证,跟大伙分享下。很多大型网站也都在用,比如 Facebook,Twitter,Google+,Github 等等,比起传统的身份验证方法,Token 扩展性更强,也更安全点,非常适合用在 Web 应用或者移动应用上。Token 的中文有人翻译成 “令牌”,我觉得挺好,意思就是,你拿着这个令牌,才能过一些关卡。

文章先介绍了一下传统身份验证与基于 JWT 身份验证的方法,再理解一下 JWT 的 Token 的组成部分(头部,数据,签名),最后我们会在一个 Node.js 项目上实施签发与验证 JWT 的功能。练习的视频版本可以参考《JWT:JSON Web Token》这个免费的课程,项目代码在 Github 上可以找到。

使用 Hexo 生成一套静态博客网页

Hexo 是一款基于 Node.js 的快速的、简单的博客框架,能够创建一个项目进行编辑后生成一套静态网页,比较适合个人博客搭建。因为 Hexo 生成的网页不依赖数据库和任何 Web 工具,所以可以把它放在 Github 空间或七牛云储存上,然后配置好域名以后进行访问。VPS 和独立服务器用户也可以在自己的服务器上安装好 Hexo,配合 Apache 或者 nignx 即可访问。适合 Windows/Mac/Linux 用户使用。另外 Hexo 支持 Markdown 语法,所以用户可以很快的撰写每一篇博文。Hexo比较适合初学者适应并快速地了解 Web。

准备工作

Nodejs 环境包

因为 Hexo 是基于 Node.js 的第三方模块,所以缺少 Node.js 不可。访问 Node.js官网下载适合自己系统的 Node.js 安装包。目前最新的版本为 0.10.26。(因为地区原因,下载速度可能会比较慢,可以通过开启代理解决这个问题)。

统计

15260
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点