NodeJs
qq20004604
前阿里巴巴,高级前端开发
展开
-
NodeJs——(1)封装,调用,执行,访问路径,http,函数编程,等待函数,事件监听
(1)如何封装一个模块;首先,我们建立一个js文件,例如命名为test.js;然后在里面写一个函数,函数名任意;然后通过exports.变量名,将函数赋值给这个变量;如代码:functiontest(){ //请注意这个函数名 console.log("1");}exports.testBegin=test; //等号后面的test,原创 2016-06-02 21:50:33 · 6388 阅读 · 0 评论 -
NodeJs——(15)动态视图助手
(38)动态视图助手express版本:4.13.4①作用:假如我们需要一个变量,在不同地方的模板(jade文件)都需要调用。显然,我们不应该使用全局变量(因为可能会带来污染);事实上,我们需要的是仅仅在模板中起作用的变量,因此视图助手的作用就在这里了。 ②流程:【1】首先,调用express模块,就像我们之前做的那样(事实上,不需要额外声明,当我们使用e原创 2016-07-17 22:18:55 · 1037 阅读 · 0 评论 -
NodeJs——(13)用连接池来控制mysql(入门版)
(34)用连接池来控制mysql(入门版)①第一步,创建一个连接池:(和之前普通创建mysql的连接对象很像)var mysql = require("mysql");var pool = mysql.createPool({ host: '127.0.0.1', user: 'root', password: '', port: '3306',原创 2016-07-08 13:50:26 · 4027 阅读 · 0 评论 -
NodeJs——(14)express框架的send()方法简介
(35)express框架的send方法①send方法用的还挺多的,因此需要明确其作用; ②原型是:res.send([body|status], [body]) 即既可以直接发送内容,也可以第一个参数状态,第二个参数内容。 如果直接发送内容的话,状态会被自动补全; ③发送的内容:示例:res.send(newBuffer('whoop'));原创 2016-07-08 15:47:59 · 18573 阅读 · 0 评论 -
NodeJs——(17)myblog的优化【2】用fs模块来记录访问情况
从零开始学_JavaScript_系列(27)——myblog的优化【1】样式表分离、localStoragehttp://blog.csdn.net/qq20004604/article/details/52167293以上优化是从前端方式优化的;这篇是在后端方面添加访问记录和计数的功能。(42)博客的优化(2)——用fs模块来记录访问情况讲道理说呢,原创 2016-08-20 01:45:42 · 633 阅读 · 0 评论 -
从零开始学_JavaScript_系列(27)——myblog的优化【1】样式表分离、localStorage
myblog的建立参照:http://blog.csdn.net/qq20004604/article/details/52019904本来打算今天写的轮播图,不过突然看到localStorage,一时兴起先搞这个了。下次再写轮播图吧【1】全局样式和独立样式的分离我将样式表分割为全局表和独立表; l 在全局的样式里,是一些通用的样式,他们的特点是复用率高,例如设原创 2016-08-10 00:12:15 · 1904 阅读 · 1 评论 -
NodeJs——(16)用Nodejs 4.X版本,制作一个微博网站(多图,详细步骤)(已完成)
博文已完成,版本号v1.0范例网址已移除,请下载源码(下载后需要自行设置mysql)附完整源代码下载链接(0积分下载):http://download.csdn.net/detail/qq20004604/9638269v1.01订正一个数据库查询重复内容的bug,在最后的models/blog.js里面v1.02订正一个加载博客时,无法显示”加载中“的bug;并且更改加载条件,改为调用定时器v1...原创 2016-07-25 01:30:35 · 7285 阅读 · 3 评论 -
NodeJs——(18)express启用gzip
gzip是用于压缩,效果特别好,js、css等文件的压缩率一般高达70%具体方法如下:先安装一个依赖npm install compression --save然后在已有代码里(一般是app.js)找到以下代码var app = express();修改为:var compression = require('compression')var app = express();// 启用gzip原创 2017-08-06 01:08:21 · 3597 阅读 · 0 评论 -
后端识别PC/移动端
通过user-agent来判断是移动端,还是pc端。判断函数是通过关键字来正则匹配判断。原创 2017-10-28 16:50:21 · 1583 阅读 · 0 评论 -
NodeJs——(12)添加路由
①之前我们有这么一段代码:app.use('/', routes); //假如是根目录,那么交给routes.js来处理;app.use('/users', users); //假如是/users目录,交给users.js来处理 当访问根目录的时候,调用routes;当访问的是users路径是,由users来处理; 然后又知道,当访问其他路径时,会这么处理:app原创 2016-07-03 23:03:26 · 3441 阅读 · 0 评论 -
NodeJs——(11)控制权转移next
①之前有提到,假如有同一路径有两个方法来对其进行处理,那么只有匹配到的第一个方法会被执行,剩余的将略过; 那么有什么办法可以让两个一起执行呢?那就是next 具体而言,如代码:在index.js中添加代码:router.get('/base/pageA', function (req, res, next) { res.send('index.js.');原创 2016-07-03 23:02:38 · 2942 阅读 · 0 评论 -
NodeJs——(10)REST风格的路由规则
①REST指Representational State Transfer(表征状态转移),是一种基于HTTP协议的网络应用的接口风格,充分利用HTTP的方法实现统一风格接口的服务。 HTTP协议定义了以下八种标准的方法:【1】GET【2】HEAD(请求指定资源的响应头)【3】POST【4】PUT【5】DELETE【6】TRACE(回显服务器收到的请求,主要用于测试原创 2016-07-03 23:01:43 · 952 阅读 · 0 评论 -
NodeJs——(6)文件系统 fs
(20)文件系统fs①提供了文件的读取、写入、更名、删除、遍历目录、链接等功能。所有操作都有异步和同步两种方法。 ②文件读取:readFilefs.readFile(filename, [encoding], [callback(err, data)]) 参数一:是文件名;参数二:编码方式,默认二进制(具体搜之前的);参数三:回调函数(参数一是错误,参数二原创 2016-06-26 14:55:37 · 504 阅读 · 0 评论 -
NodeJs——(7)request的结构
(24)request的结构这里指的是发送的结构:先上代码:var http = require("http");var util = require("util");var server = new http.Server();server.on("request", function (req, res) { res.writeHead(200, {'Conten原创 2016-06-26 14:58:47 · 1508 阅读 · 1 评论 -
NodeJs——(8)http.ServerRequest的过程
(25)http.ServerRequest的过程①http.ServerRequest提供了3个事件用于控制请求体传输:【1】data:当请求体数据到来时,该事件被触发,提供一个参数给回调函数,是接受到的数据,该事件可能被多次调用(所有data按顺序的集合,是请求体数据)。如果该事件没有被监听,请求体将被抛弃; 【2】end:当请求体数据完成时该事件触发。此后不再触发data事件原创 2016-06-26 15:01:49 · 2198 阅读 · 0 评论 -
NodeJs——(2)和 MySQL(windows下)
我的mysql是mysql-5.6.17-winx64nodejs是目前最新版。①安装nodejs的mysql模块如果你的nodejs的版本比较新的话,应该不存在安装路径问题;在你想要运行nodejs文件的根路径,启动命令行(shift+鼠标右键);输入:npm install mysql 正常的话,应该出的是一个带树形结构的图,比如这样:原创 2016-06-12 15:28:16 · 7155 阅读 · 0 评论 -
NodeJs——(4)和模块
(15)模块当我们制作一个模块时(具体制作方法见前面),我们可能会写一个构造函数(因为在浏览器写构造函数时我们经常会这么做)。 如代码:function sayHello() { this.say = function () { console.log('hello'); }}exports.Hello = sayHello;在这里,我原创 2016-06-12 15:43:34 · 673 阅读 · 0 评论 -
NodeJs——(5)与 events 事件模块
①events模块只提供了一个对象,events.EventEmitter他的核心是 事件发射 和 事件监听 功能 每个事件由一个事件名(用于标识事件),和多个参数组成。 事件名:字符串,通常表达一定的语义; 事件被发射时,监听该事件的函数被依次调用。 ②调用模块:var events = require("events");var emitter原创 2016-06-12 15:49:54 · 930 阅读 · 0 评论 -
NodeJs——(3)和文件(fs)
(13)文件读取模块需求:fs方法:①首先我们创建一个test.txt文件,里面输入内容It's a test txt. 注意,这个txt文件应该是utf-8格式的 ②然后我们创建一个js文件,调用fs模块,并输入一段代码:注意,此时文件名是错误的然后执行这个js文件 var fs = require('fs');fs.readFile('file.原创 2016-06-12 15:36:48 · 782 阅读 · 0 评论 -
NodeJs——(9)jade的基础和进阶
(28)jade的简单说明正好我也是刚学,我会尽量结合实例和效果进行说明,如果有多种方式的话,我会尽量都写到。(另外,或许因为版本问题,有些结果和之前是有一定差异的,我写的都是经过我测试,目前最新版本Express所使用的jade)。注:jade的文件创建,同 ①对照的两端代码:HTML版:Express jade版:doctype ht原创 2016-06-28 10:05:28 · 4905 阅读 · 3 评论 -
linux安装nodejs不是最新版本的解决方案(如何安装指定版本nodejs)
遇见问题:执行 yum install nodejs 时,是老版本,而不是新版本。并且变更源无效(示例代码如下,这个是centos装8.x版本的nodejs)curl -sL https://rpm.nodesource.com/setup_8.x | bash -解决方案:执行以下代码:yum remove nodesource-release* nodejsyum clean ...原创 2019-02-21 00:32:10 · 1766 阅读 · 0 评论