![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
node.js
文章平均质量分 60
Merlin~
虽然并非那么认真,但是一直在学习,,从来没停下
展开
-
我node.js的第一滴血
神奇的Node.js 我感觉js是万能的托谷歌和各大神的福,js在几年前就已经在服务器端站住了脚,现在俨然已经开始和各大服务端脚本们开始干架了。我Node.js的第一滴血下载node.js其实我很早之前为了使用npm就已经下过一遍了而且也是不早之前,现在就又重新下了一遍 就在node.js官网node.js下载 今天是17-3-30 选择左边的稳定版本进行下载安装的。 操作系统是WI原创 2017-03-30 20:44:52 · 508 阅读 · 1 评论 -
node.js项目改进之环境配置
配置多种场景我们的系统是要在不同的环境下运行的,不同的环境可能是不同的端口号,不同的数据库地址,数据库用户和密码, 并且可能有的需要自动重启有的不需要自动重启。 我们在有一个配置的时候是无法满足这么多的场景的,所以我们要为不同的场景做额外配置场景的种类场景的种类一般就以下几种开发场景真实场景测试场景debug场景或者再有其他场景就做额外的添加,配制方法都是一样的开始配置配置环境我们可以原创 2017-04-02 21:20:19 · 5290 阅读 · 0 评论 -
node.js项目改进之日志系统
项目自带的日志模块koa-logger项目自带的日志系统是很给力的,我们随便启动一下下程序,请求一下地址我们就会看到控制台上出现一堆GET啊啥的是这样的logger 超级简单明了,通俗易懂,上面的输出就是有一个GET请求请求了/目录,然后处理这个get请求GET用时12ms(这段话是在app.js console.log的不算logger的)下面的处理请求GET,目录是/,http响应码是200,原创 2017-04-02 22:27:32 · 1237 阅读 · 0 评论 -
node.js项目改进之添加mysql模块驱动(1)
最常用的数据库mysql说起来做php程序的时候最常用的也是mysql,说起来不只是这几种系统像asp,jsp啥的也是非常常见的。用的多的话出了问题也好解决。使用Sequelize模块调动mysql首先我们添加sequelize与mysql两个依赖包npm install sequelize -savenpm install mysql -save配置环境配置之前我们不是配置过三个不同环境的配置文原创 2017-04-03 23:05:20 · 761 阅读 · 0 评论 -
node.js项目改进之改进mysql模块(2)
抽象一个model类首先接着我们前一篇博客说到的,我们现在使用基础的增删改查都非常费事更别谈我们要做什么大型项目了。所以为了简化我们的代码我们有必要抽象一个model类来统筹所有的表映射。创建model类app_lib/Model.js原创 2017-04-04 23:37:11 · 417 阅读 · 0 评论 -
node.js项目改进之路由分发系统
路由系统改进原来路由app.jsapp.js// routesapp.use(index.routes(), index.allowedMethods());app.use(user.routes(), user.allowedMethods());我们每写一个路由模块就要在这个文件里引入一个路由文件,然后在下面使用路由,这样等到程序变得非常复杂的时候这个app.js也就打得没法看, 所以我们原创 2017-04-10 20:34:27 · 2465 阅读 · 0 评论 -
node.js项目改进之路由分发系统下路由命名
路由命名(除API)之前在php(毕竟之前就干这个的)的(apache,nginx)服务里一般默认请求‘/’的时候默认读取文件目录下的(index.html,index.php…..),当然了可以设置,但是基本上都是用的默认设置不会改的所以请求’/’和请求‘/index.html’或者‘/index.php’是一样的,在我们的node项目中是如果我们只写一个‘/’的路由,那么请求‘/’和‘/inde原创 2017-04-10 21:27:52 · 1064 阅读 · 0 评论 -
node.js项目改进之分离控制器
分类控制器控制器的作用其实最初接触控制器是学习thinkphp的时候,一开始只知道,只要在固定php里面assign,diplay,就能够自动定位到模板渲染,然后输出。控制器的作用就是如此,路由定位到对应的控制器之后,开始走控制器,控制器内写业务逻辑(大程序为了便于维护会单独组织其他model层来处理业务逻辑),处理完所有数据之后渲染视图模板或者直接输出固定格式数据(接口)。控制器目录外层新建con原创 2017-04-12 21:14:23 · 714 阅读 · 0 评论 -
node.js项目改进之分离logic层确立数据中枢
合理的分层思想会提高生产效率首先我们确立我们的数据传输中枢,确立数据传输中枢的目的是让我们logic层和控制器层之间有效的传递数据。修改app.js写入传输确立中枢的中间件app.js在routes之上编写确立中枢的中间件//产生数据传输中枢app.use(async (ctx, next) => { ctx.data={}; await next();});// routesapp原创 2017-04-14 00:40:52 · 543 阅读 · 0 评论 -
node.js项目改进之更新重启nodemon
检查package.json我的此文件是这样的现在{ "name": "HelloKoa2", "version": "0.1.0", "private": true, "scripts": { "start": "node bin/www", "pm2": "pm2 start bin/www ", "test": "echo \"Error: no tes原创 2017-04-02 19:25:53 · 4821 阅读 · 0 评论 -
node.js项目改进之View模块改进
现在项目View模块的尴尬之处我们打开routes目录下的index.js模块看一下结构是这样的var router = require('koa-router')();router.get('/', async function (ctx, next) { ctx.state = { title: 'koa2 title' }; await ctx.render('index',原创 2017-04-02 17:52:13 · 1204 阅读 · 0 评论 -
node.js之模块调用
啥是node.js模块node.js个人理解每个模块就是一个js文件,最大的作用其实就是分门别类,放到不同的文件夹下管理起来,防止回头看的时候只能在一个文件下找方法找类。node.js的模块机制实现一般是一个文件是被调用的另一个文件是调用的,前者通过module.exports来暴露出各种方法各种变量各种类var a=0;function b(){return a;};module.expor原创 2017-03-30 23:11:56 · 766 阅读 · 0 评论 -
node.js之基本文件系统模块fs
如何使用fs?其基本操作就是引入模块操作然后使用他所暴露的方法var fs = require('fs');//因为是通用模块所谓不需要加位置fs模块同时提供了异步操作和同步操作,一般只使用异步操作,因为同步操作会阻断系统的执行。几个基本的fs的API(不写同步方法了)1.读文件fs.readFile();var fs=require('fs');fs.readFile('bb.js','utf-原创 2017-03-31 08:36:53 · 720 阅读 · 0 评论 -
node.js之基本流处理模块stream
streamstream中的流是指一种抽象的数据结构,是一种将很大的数据分割成一小段一小段来传输的方式。 stream不需要引入,也可以说他不是个模块,因为他的方法都已经被其他可能用到流处理的模块暴露了。用流来读取数据var fs=require('fs');var flowF=fs.createReadStream('aaa.js','utf-8');var i=0;flowF.on('d原创 2017-03-31 10:48:14 · 1133 阅读 · 0 评论 -
node.js之基本http处理模块
http模块http模块的最主要作用就是接受请求和返回响应从其最基本的使用中就可以体现出来了var http = require('http');var sever = http.createServer(function (request, response) { console.log(request.method + ':' + request.url); response.原创 2017-03-31 15:53:12 · 635 阅读 · 0 评论 -
node.js之基础加密算法模块crypto
加密算法crypto 我很难想象在php里面md5加密只是三个字符的一个方法而已,在node.js中没封装前竟然那么长!!无法反编译的加密方式话不多说直接上代码品鉴吧onst crypto = require('crypto');function l(param) { console.log(param);}const md5 = crypto.createHash('md5')原创 2017-04-01 00:27:12 · 3368 阅读 · 1 评论 -
node.js之框架
选用哪种框架框架的学习说起来只是选择一种通用工具吧,是帮助你快速搭建应用的一把武器,可对于武器而言,没有用上百八十天的根本就很难知道是否真的就趁手,然而真正精通十八般武艺的人几乎没有,我们能做的只是选择一个评价稍微高一点的用的人又比较多的框架来当我们的武器这里直接转载廖雪峰教程中的一部分koa是Express的下一代基于Node.js的web框架,目前有1.x和2.0两个版本。历史Express转载 2017-04-01 11:03:28 · 651 阅读 · 0 评论 -
node.js之koa2快速项目目录分析
koa2 文件目录首先是bin文件内的www文件是整个项目的开始文件,当npm start时其实就是运行的这个文件,一般情况不需要处理这个文件 node_modules存放各种依赖包 public下面存放各种静态文件,文件目录也可以随时改变 routues文件夹下面存放用于编写路由的文件,个人理解,如果很小的项目可以将业务逻辑什么的写在这个文件内,但是稍大点的项目就需要分开写了这个文件就只负责原创 2017-04-01 19:07:34 · 1454 阅读 · 0 评论 -
node.js之快速搭建koa2项目
快速搭建koa2项目首先koa2使用了较为超前的es7语法,所以我们要使用更为超前的node.js环境作为支撑,node.js版本必须要超过7.6才可以正常使用,之前用的稳定版本6.10所以又下载了最新的7.8版本作为支撑。使用项目搭建工具快速搭建而不是一点的一点添加模块首先使用npm 全局安装koa-generatornpm install koa-generator -g 之后找准项目目录生成项原创 2017-04-01 13:36:04 · 7956 阅读 · 0 评论 -
node.js项目改进之restful API接口支持
神奇的restful规范这里直接引用百度的解释什么是restful建立restfulAPI模块这个模块的作用主要是做一些前置操作和指引,并且规范路径,同时对错误进行初步处理app_need/restfulAPI.js'use strict';module.exports = { APIError: function (code, message) {//编辑数据code和message原创 2017-04-14 16:58:09 · 1305 阅读 · 0 评论