作为一个好的Restfull Api不仅在于service url的语义,可读性,幂等,正交,作为http状态码也很重要,一个好的Http Status Code给使用者一个很好的响应,比如200表示正常成功,201表示创建成功,409冲突,404资源不存在等等。所以在做一个基于node.js+mongodb+angularjs的demo时发现node.js express没有提供相应的辅助类,但是本人不喜欢将201,404这类毫无语言层次语义的东西到处充斥着,所以最后决定自己写一个,但是同时本人也很懒,...
本章给大家介绍学习nodejs:express 入门和基础知识。那么什么是express,express 是一个自身功能极简,完全是由路由和中间件构成一个的 web 开发框架:从本质上来说,一个express 应用就是在调用各种中间件。有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。初始化新建一个目录myapp,项目初始化$ npm init安装express$ npm install express --save创建一个hello world实例进入myapp目录,创建一个名为app.jsvar ...
javascript之前一般用于web前段开发,然而由于node.js的出现,用javascript开发后端程序也不再是一件复杂的事情。node.js中js引擎来自于chrome v8浏览器,配合node.js额外开发的工具代码,本身使用起来非常容易,也很高效。除此之外,node.js也有pip一样的工具npm,使用npm可以轻松地安装第三方软件,这给我们的开发工作带来了极大的方便。乘着周末,学习一下node.js,确实不错。1、安装node.jssudo apt-get install nodejs2、安装...
本文主要和大家分享Nodejs进阶:crypto模块中你需要掌握的安全基础知识,希望能帮助到大家。互联网时代,网络上的数据量每天都在以惊人的速度增长。同时,各类网络安全问题层出不穷。在信息安全重要性日益凸显的今天,作为一名开发者,需要加强对安全的认识,并通过技术手段增强服务的安全性。crypto模块是nodejs的核心模块之一,它提供了安全相关的功能,如摘要运算、加密、电子签名等。很多初学者对着长长的API列表,不知如何上手...
什么是nodejs?node.js是基于Chrome javaScript运行时建立的平台,用于方便地搭建响应速度快、易于扩展的网络应用。(但nodejs不是javascript应用,nodejs采用c++语言编写 )js是脚本语言,脚本语言都需要一个解析器才能运行。对于写在HTML页面里的JS,浏览器充当了解析器的角色。对于需要独立运行的JS,nodejs就是一个解析器。每一种解析器都是一个运行环境,可以干以下事情: 1.允许JS定义各种数据结构,进行运算; 2.允许JS使用...
你肯定非常熟悉nodejs模块中的exports对象,你可以用它创建你的模块。例如:(假设这是rocker.js文件) 代码如下: exports.name = function() { console.log(My name is Lemmy Kilmister); }; 在另一个文件中你这样引用 代码如下: var rocker = require(./rocker.js); rocker.name(); // My name is Lemmy Kilmister 那到底Module.exports是什么呢?它是否合法呢? 其实,Module.exports才是真正的接口,exports只不过是它的一...
在nodejs中,模块大概可以分为核心模块和文件模块。 核心模块是被编译成二进制代码,引用的时候只需require表示符即可,如(require('net'))。 文件模块,则是指js文件、json文件或者是.node文件。在引用文件模块的时候后要加上文件的路径:/.../.../xxx.js表示绝对路径、./xxx.js表示相对路径(同一文件夹下的xxx.js),../表示上一级目录。如果既不加/.../、../又不加./的话,则该模块要么是核心模块,要么是从一个node_modules文件...
最近在准备Angularjs +node.js demo的时候在我的mac开发中 遇见此错误,如下:
events.js:71
throw arguments[1]; // Unhandled error event^
Error: connect ECONNREFUSED
at errnoException (net.js:770:11)
at Object.afterConnect [as oncomplete] (net.js:761:19)
最后在stackoverflow找到解决方案,这主要由于上一次node.js server进程仍然还在运行没关闭掉,所以我们需要杀掉此进程,在mac上操作为:
ps aux | grep node
tw...
上次介绍了怎么利用NodeJS + PhantomJS进行截图,但由于对每次截图操作,都启用了一个PhantomJS进程,所以并发量上去后,效率堪忧,所以我们重写了所有代码,并将其独立成为一个模块,方便调用。如何改进?控制线程数,以及单线程处理url数量。使用Standard Output & WebSocket 进行通讯。添加缓存机制,目前使用Javascript Object进行。对外提供简易的接口。 设计图 依赖 & 安装
由于PhantomJS 1.9.0+才开始支持Websocket,所以我...
Javascript做url检验,通常是使用正则表达式来判定,其格式是否正确,例如: 代码如下:/^https?:\/\//.test(url);当然还有更好的检测方法比如基于RFC 3986, RFC 3966, RFC 4694, RFC 4759, RFC 4904等标准的进行验证的valid-url库。不过个根据格式进行验证当然不能确定该url是否存在啦,所以就有了url-valid,我们基于HTTP请求进行验证。接口设计实际上我们只需要一个函数传入一个url地址,并回调返回该链接是否可用。但请求容易产...
本书状态
你正在阅读的已经是本书的最终版。因此,只有当进行错误更正以及针对新版本Node.js的改动进行对应的修正时,才会进行更新。
本书中的代码案例都在Node.js 0.6.11版本中测试过,可以正确工作。
读者对象
本书最适合与我有相似技术背景的读者: 至少对一门诸如Ruby、Python、PHP或者Java这样面向对象的语言有一定的经验;对JavaScript处于初学阶段,并且完全是一个Node.js的新手。
这里指的适合对其他编程语言有一定经验的开...
javascript之前一般用于web前段开发,然而由于node.js的出现,用javascript开发后端程序也不再是一件复杂的事情。node.js中js引擎来自于chrome v8浏览器,配合node.js额外开发的工具代码,本身使用起来非常容易,也很高效。除此之外,node.js也有pip一样的工具npm,使用npm可以轻松地安装第三方软件,这给我们的开发工作带来了极大的方便。乘着周末,学习一下node.js,确实不错。
1、安装node.js
sudo apt-get install nodejs2、安...
一. Node执行代码
1.1. JavaScript文件执行
如果我们编写一个js文件,里面存放JavaScript代码,如何来执行它呢?
// 1.直接打印一段文字
console.log("我是一段JavaScript代码");// 2.定义一个函数, 调用这个函数
function sum(num1, num2) {return num1 + num2;
}const result = sum(20, 30);
console.log("计算结果:", result);// 3.执行定时器代码
setTimeout(() => {console.log("2s后执行的代码");
}, 2000);目前我们知道有两...
1.第一个应用:demo.js
2.使用npm命令安装模块:
全局安装:
npm install express -g1. 将安装包放在 /usr/local 下。2. 可以直接在命令行里使用。3. 不能通过 require() 来引入本地安装的包。
接下来我们使用全局方式安装 express
本地安装:
npm install express1. 将安装包放在 ./node_modules 下(运行 npm 命令时所在的目录),如果没有 node_modules 目录,会在当前执行 npm 命令的目录下生成 node_modules 目录。2. 可以通过...
第一部分知识:1 1.命令行窗口(小黑屏)、CMD窗口、终端、shell2 - 开始菜单 --> 运行 --> CMD --> 回车3 - 常用的指令:4 dir 列出当前目录下的所有文件5 cd 目录名 进入到指定的目录6 md 目录名 创建一个文件夹7 rd 目录名 删除一个文件夹 8 9 - 目录
10 . 表示当前目录
11 .. 表示上一级目录
12
13 - 环境变量(windows系统中变量)
14 ...