• 搜索:express

go 语言中的channel

channel Channel是Go中的一个核心类型,你可以把它看成一个管道,通过它并发核心单元就可以发送或者接收数据进行通讯(communication)。 它的操作符是箭头 <- ch <- v // 发送值v到Channel ch中 v := <-ch // 从Channel ch中接收数据,并将数据赋值给v (箭头的指向就是数据的流向) 就像 map 和 slice 数据类型一样, channel必须先创建再使用: ch := make(chan int) 类型 Channel类型的定义格式如下: ChannelType = ( "chan" | "ch

node.js Express 框架下支持跨域服务

前言 由于现在的项目都流行前后端分离, 导致后端部署服务和前端一定不会解析到一个服务上, 这样面临的就是跨域请求. 什么情况下会出现跨域请求点击查看这篇博文介绍. 解决跨域的方法 nginx设置跨域请求头点击查看 服务端代码解决跨域 今天我们介绍后者,服务器端如何解决跨域. Express框架下设置跨域请求 cors安装包 自己定义中间件 cors安装包 npm install cors --save 使用 const cors = require('cors'); server.use(cors()); 自定义中间件 项目 middlewares 文件夹下创建 cors.js m

node.js Express 中间件是如何实现的呢

什么是node.js 的中间件 在整个web请求的生命周期中, 客户端request 过来一个请求, 接着服务器端做出响应处理, 最后response结果给客户端. 上面这个请求过程中,其中服务器端做出响应处理时,会有一系列处理单元,这些处理单元可以简单的理解成中间件. node.js中间件: 它泛指一种设计模式、一系列的处理单元、过滤器和处理程序; 以函数的形式存在,形成一个异步队列,来完成对数据的预处理和后处理; 它的优点在于灵活处理业务逻辑中的单元模块; 使用中间件我们用极少的操作就能得到一个插件,用最简单的方法就能将新的过滤器和处理程序扩展到现有的系统上. Express 中间件实现

[随笔] http-server 快速创建node.js 静态服务器

说到node.js 创建服务器,首先想到 express 之前和大家分享过 关于http-server快速创建node服务 http-server 首先需要 全局安装 http-server npm install -g http-server http-server 启动 http-server -a 127.0.0.1 -p 7070 上面的一句命令启动了一个node.js 的静态服务器. 监听本地 7070 端口. 静态目录就是当前运行 命令所在的目录 如果你的当前项目中存在 public 文件夹,那么默认静态目录会指定到 public 如果没有 public

JSX 语法了解,我们为什么要学习它

传统的 MVC 是将模板放在其他地方,比如 script 标签或者模板文件,再在 JS 中通过某种手段引用模板。按照这种思路,想想多少次我们面对四处分散的模板片段不知所措?纠结模板引擎,纠结模板存放位置,纠结如何引用模板……下面是一段 React 官方的看法: We strongly believe that components are the right way to separate concerns rather than "templates" and "display logic." We think that markup and

使用 rhc 工具连接 openshift 服务器

上一篇分享了, 如何使用 gem 在mac 环境下安装 rhc工具 这一篇是关于 如何使用 rhc 工具连接 openshift 服务器 如何使用 rhc 首先运行 rhc setup ➜ /Users/zhangzhi >rhc setup OpenShift Client Tools (RHC) Setup Wizard This wizard will help you upload your SSH keys, set your application namespace, and check that other programs like Git are pr

http-server Angular.js 后端node服务首选 轻量级替换 Express 解决方案

http-server 是轻量级web服务 你可以轻松使用 http-server 替换 Express http-server 轻量级到什么地步 无需任何设置 也需不要你引用 轻松把当前所在目录架构成一个web服务 应用场景 angular.js 应用. 因为 angular.js本身作为一个单页面应用,首先需要加载这个单页面. 而这页面,一般是我们静态目录下的 index.hlmt 然后这个静态页面加载了 angular.js 前端框架 这时真正的路由控制已经掌握到了 angular.js 的手里 所以,你不需要像 Express 这样大的包来支持后端web服务

mac 下的 tree 命令 终端展示你的目录树结构

在 linux 下你可以很方便的使用 tree 命令来查看当前目录下的目录树机构. 但是在 mac 下,至少你需要安装一个工具. 开始,我从网上找到了一个shell 命令打印 tree 结构的方法. find . -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g' 你可以在你的终端下,直接输入上面的shell 命令来查看当前目录的结构树 如何把它变成一个 命令,直接使用呢 我们想到了 alias 指定别名的方法 alias tree="find . -print | sed -e 's;[^/]*/;|____;g;s;___

node.js 使用 UglifyJS2 高效率压缩 javascript 文件

UglifyJS2 这个工具使用很长时间了,但之前都是在 gulp 自动构建 时用到了 UglifyJS 算法进行压缩. 最近玩了一下 UglifyJS2 ,做了一个 在线压缩javascript工具 欢迎点击玩耍. 为什么要压缩 javascript 因为每个人开发者的书写习惯,定义参数习惯,已经使用习惯都不一样. 所以相同的功能出自不同开发者代码各异.这里牵扯到一个代码所占空间. 以前端为例来说明 大家通常都会认为,现在在网络时代,动不动就是10M光纤,拨号上网让人感觉是上个世纪的方式..... 说法是没有问题,但是,我们今天讨论的并不是终端下载速度. 而是前端压缩对服务器有何利

[投稿] 2015-09-25 北京地区招聘 node.js 开发工程师

你有招聘/求职机会,请联系 QQ:378989619 免费发布! 地点: 北京 坐标: 建国门 职位: node.js 开发工程师 岗位职责: 负责node.js网站后端开发。 我们找这样的你: 1. 1年以上node.js项目开发工作经验,熟悉MVC,熟悉express等开发框架 2. 熟悉linux系统 3. 良好的代码规范。对代码质量精益求精,志向于编写优美的代码 4. 善于思考,能独立分析和解决问题 5. 责任心强,具备良好的团队合作精神和承受压力的能力 我们的服务 手道轻来作为互联网健康养生020平台到家,主要包括整脊、拔罐、足底、艾灸四项服

node.js 利用 sitemap 为你的站点生成站点地图

node.js 下利用 sitemap 生成站点地图. 大致的工作就是,我们生成一份提供给搜索引擎的 Sitemap 之前你获取在网络上找过各种在线生成 sitemap 工具或者服务,使用起来却都不尽人意.有的收费,有的最大抓取2层url ,还有的最大链接数限制在500个. 所以今天和大家分享的是如何用 node.js 来为站点生成 sitemap 什么是sitemap 借用百科的一段话 Sitemap 可方便网站管理员通知搜索引擎他们网站上有哪些可供抓取的网页。最简单的 Sitemap 形式,就是XML 文件,在其中列出网站中的网址以及关于每个网址的其他元数据(上次更新的时间、更改的

node.js 在 Express4.0 框架使用 Connect-Busboy 实现文件上传

node.js下四种post提交数据的方式 今天说分享的是其中一种,就是上传文件. Express 4.0 以后,将功能原子化,高内聚,低耦合,独立出了很多中间件 今天主要分享文件上传 对于connect-multiparty ,他是专门处理此类post数据相关的依赖包,也是博客之前使用的方式 github 官方地址: https://github.com/andrewrk/connect-multiparty 安装 npm install connect-multiparty 使用 var multipart = require('connect-multiparty')

gulp 传参数 实现定制化执行任务

如果你想自动化构建一些东东,请使用 gulp ,还不明白什么是 gulp ,那么请用 google 百度一下 "什么是gulp"如果你不知道如何翻墙使用 google ,那么请离自动化构建远一点(最好披星戴月地赶快逃离IT圈)因为之前专门有一篇介绍了gulp ,是什么,能帮我们做什么,如何去做,请点击此博文查看:angular 系列三 gulp 代码构建工具简介所以上面博文提到的东西这里都不会再重复说明.今天和大家分享的是 如何使用 gulp 传输参数.我今天碰到一个应用场景:老项目A还在线上维护,新项目B已经着手在开发.这2套项目后端调用是一致的,唯独不同的地方是前端UI

node.js 和 nginx 配合实现 gzip 压缩,让网站浏览更顺畅

node.js 开发的站点,如果你也是用了nginx实现反向代理.那么在服务端可以轻松实现 gzip 压缩,让站点浏览更顺畅.前提条件: node.js + nginx 反向代理node.js 需要做的工作:express 4.0以下版本:app.use(express.compress());//主要是这句 app.use(express.json()); app.use(express.urlencoded()); app.use(express.bodyParser()); app.use(express.methodOverride()); app.use(express.cookie

博客准备换套UI

过了一个清明节也没有闲下来,今天新的敏捷开发周期已经迭代开始了,今天晚上想换下博客的UI,明天开始更新博客,赶紧干活去了,祝各位好心情.UI 线下已经搞定,还在细化局部.2015.4.9 中午12点更新!此套UI将自动适应大部分设备,当然我没有全部测试,手机上体验还是不错的.到目前为止,一共换过4套UI每次换UI其实是有一定风险的,对于seo来说,最好一直用一套UI ,所以这段时间我要留意一下所有引擎收录数量及索引量.如果有一天搜索引擎里搜不到我的博客,也许就是被"拔毛了"但是按理说我只是html结构变化,一直都是勤勤恳恳的写内容,应该不会被搜索引擎拔毛.不过影响肯定是有的

node.js 调用 wechat 开发微信公众号自定义接口及中间件简介

上一次给公众号做自定义接口已经是很久以前的事了.....以至于今天发现那个公众号的接口已经不能服务了.访问公众号直接给出提示"该公众号暂时无法提供服务,请稍后再试"我想难道是年久失修? 也不应该啊,这么牛x的公司绝对不会修改api,或者是更新api不兼容之类的.....看来问题还是出在我这边.我甚至忘记了公众号登录密码.进去后复制接口链接地址到浏览器地址栏,发现是可以访问的,那么问题出在哪里?难道腾讯知道我好久没有维护此号了.所以暂时不提供服务了,想想以前网易邮箱经常被冻结,我竟然真的以为是这样的了.所以:我尝试前后到编辑模式,然后再切换回来,依然不提供服务...我试图改了

node.js express 路由小功能 - 图片防盗链

小功能: node.js web服务器的图片防盗链原理:http 请求包括 (请求头 header + 请求体 body )请求头里面有一个属性:referer 此属性可以标识你所请求的资源来自哪里.简单讲就是,我是网站 A ,当我去请求任何网络资源的时候, referer 属性都会标识我是 A ( header.referer=A )因为我被标识了A ,如果我去B网站上获取资源 (视频,图片,文档.....)时,B 网站就可以检查一下请求头里的 referer 属性. 如果不是来自本身( B 网站 ) 那么就可以拒绝返回,或者返回替换后的资源 (比如一张警告提示图片....)实现: //图片

node.js 调试工具 node-inspector 简要说明

我们在接触客户端javascript的时候,调试利器就是firebug ,也是当年为何喜欢用上firefox 浏览器的主要动力,当然,后来 chrome 插件里也出现了firebug的身影.....但是服务器端开发语言node.js 一直以来调试不是特别方便,可能是之前被 virtual studio惯坏了,这种用 console.log() 去打印变量甚至回调数据实在是太蹩脚.当然,有一款很强大的IDE ,webstrom对node.js提供了最全面的支持,也可以轻松配置来实现调试,下回有必要和大家分享一次.今天要分享的是关于node-inspector 下调试node.js程序.第一步:n

angular 系列七 ui-router路由控制器介绍

angularUI 在不断发展过程中已经被划分成了几个模块,你可以选择你需要的模块载入,我们今天要了解一下路由控制器 ui-router ,它就是angularUI划分出出来的一个独立模块.此模块只关注状态,在整个用户界面导航中,一个状态对应一个视图,开发者可以根据URL状态来组织控制界面UI渲染.这里和后端开发有一点点区别需要注意:后端: 以node.js使用express框架的web开发为例,当我们定位一个路由,对应的会去服务端请求相应资源,服务器端接收请求,解析路由,然后做一系列逻辑处理,最后指定一个视图返回客户端.url —> 路由 —> 逻辑处理 —> 替换视图 —

angular 系列三 gulp 代码构建工具简介

为什么要把 gulp 的学习文章安装到这里,因为我们上一篇说到了创建一个angular.js项目框架,其中用 gulp 来构建代码.什么是 gulp ,我之前的博客介绍过 yoman项目构建工具 ,gulp 也是类似这样的工具,而且感觉比 yoman和 grunt等工具使用更加简单方便.我们在项目中使用 gulp 做什么?我们会用 gulp 定制几个任务,其中一个就是把controller中的控制器代码抽取出来,然后生成一个新的 app.js .这样的好处是不言而喻的,比如一个团队每个人负责几个控制器,如果我们不用项目管理工具来自动合并引用到文件的话,我们只能手动每个人去修改 index.ht

node.js 下依赖Express 实现post 4种方式提交参数

上面这个图好有意思啊,哈哈, v8威武啊....在2014年的最后一天和大家分享关于node.js 如何提交4种格式的post数据.上上一篇说到了关于http协议里定义的4种常见数据的post方法,详细介绍请点击查看.分别是这四种:www-form-urlencoded,form-data,application/json,text/xmlExpress 依赖 bodyParser 对请求的包体进行解析,默认支持:application/json, application/x-www-form-urlencoded, multipart/form-data.可惜对xml没有支持,需要自己代码来

Express 3.x升级到4.x 优缺点

Express 是Node.js Web应用框架,他集成了一整套完善的api,让您能够快速搭建一套Web应用.安装Expressnpminstall-gexpress创建一个启动文件 index.jsvarexpress=require('express'); varapp=express(); app.listen(8000);nodeindex.js既可以成功运行起来应用创建一个路由app.get('/',function(request,response){ response.send("HelloWorld!"); });Expres

node.js cookie 操作

cookie是保存着http头信息中的.所以最原生的方法就是通过node.js的原生方法setHeader来设置.response.setHeader(name, value)方法接收key,value键值对获取 header 里面设置的值通过另外一个方法:response.getHeader(name)根据name 获取 value如下:设置cookieresponse.setHeader("Cookie", ["type=user", "name=一介布衣"]);获取cookieresponse.getHeader("C

ejs母版页让你的node.js应用开发更快更有效- 一介布衣

引子:母版页之方便之处相信做过web开发的都不用说太多,可以重复利用资源,维护方便,开发起来你只需关注当前页变动的东西,固定不变的全部放到母版页,可以理解为前人栽树后人乘凉,省时,省力,省心.下面围绕2点简单说下.一.node.js开发,基于ejs引擎的母版页二.前提环境 ,如何使用及示例介绍就像上面的这个图,如果你的业务说覆盖的页面只有中间是变化的,那么其他部分完全可以放到母版页中呈现.node.js 下的web应用开发有2种模板引擎 ejs 和 jade ,当然你可能直接用jquery 的前端模板后端ajax请求数据等等....(也算一种吧)ejs 下如何使用母版页?ejs的母版页功能支持

Angular 基础学习教程

我们现在开始准备编写AngularJS应用——phonecat。这一步骤(步骤0),您将会熟悉重要的源代码文件,学习启动包含AngularJS种子项目的开发环境,并在浏览器端运行应用。进入angular-phonecat目录,运行如下命令:gitcheckout-fstep-0该命令将重置phonecat项目的工作目录,建议您在每一学习步骤运行此命令,将命令中的数字改成您学习步骤对应的数字,该命令将清除您在工作目录内做的任何更改。运行以下命令:nodescripts/web-server.js来启动服务器,启动后命令行终端将会提示Http Server running at http://lo

express 解析post方式下的json参数

node.js 下最出名的web框架 express ,之前低版本(4.0以下)貌似需要依赖bodyParser 包来解析请求体,Express 3.x和4.x版本的区别 查看此博文了解.后来的版本把bodyParser 继承进去,需要在express 配置项里 user(express.bodyParser({ keepExtensions: true, uploadDir: '/tmp' })) 如下代码:varexpress=require('express'), app=express(); app.configure(function () {    

给电脑换源 npm 国内镜像 cnpm

npm 是node.js 环境下的包管理器,非常强大智能.生活这这片神奇的土地上,各种奇葩手段屡见不鲜啊.为什么要换源? npm 官方站点http://www.npmjs.org/并没有被墙,但是下载第三方依赖包的速度让人着急啊!就拿阿里云环境来说,有时npm 一个包也需要耐心等待......等待过去也许是原地踏步,也许就是安装失败.幸运的是,国内有几个镜像站点可以供我们使用,本人在使用http://www.cnpmjs.org/速度非常快,镜像站会实时更新,为我们节省了好多时间.如何给本机换源呢?(1)通过 config 配置指向国内镜像源npmconfigsetregistryhttp:/

NodeJS - Express 3.0下ejs模板使用 partial展现 片段视图

如果你也在看Node.js开发指南,如果你也在一步一步实现 microBlog 项目!也许你会遇到本文提到的问题,如果你用的是Express 3.0本书实例背景是 Express 2.0 而如今升级到 3.0后去掉了一些老的方法也更新了一些新的,所以变化还是蛮大的.首先上一篇博客提到的一个问题:如何用Express 3.0 生成一个 ejs 模板项目前提是你已经下载了ejs包,如何下载,运行cmd 输入 npm install ejs -g2.0 下的语法是:express -t ejs microblog3.0下的语法是:express -e ejs microblog (-t已经失效,取而

node.js 中的核心模块 Core Modules 加载顺序及规则

何为核心? 重要的/不可缺的!node.js作为一门跨平台服务器端编程语言,必然也有它的核心.node.js继承了javascript 客户端语言该有的优势,同时摒弃了客户端javascript的一些缺点,比如在客户端javascript环境下,全局变量可以到处被定义,随意被覆盖,代码污染严重,所以node.js有了模块的概念,在模块里定义的全局变量如果没有被export ,那么此变量是私有的,只能在定义的模块是使用.不用提醒我,我并没有跑题,正因为模块机制,导致node.js的一些核心模块也编译成各自独立的二进制文件,他们就放在 node 源代码中 lib 文件夹下.为啥是二进制文件?你不用

express bodyParser post上传文件request.body 不能获取表单值

问题如上描述:express bodyParser post上传文件request.body 不能获取表单值可以上传保存文件到指定目录,但是form 里其他表单项却无法用 request.body['表单name'] 来获取表单值.express 配置如下:app.use(express.bodyParser({ uploadDir:__dirname+‘/upload/’, keepExtensions:true, limit:10000000, defer:true })); app.use(express.multipart()); app.use(express.me

node.js 下 express 框架如何获取参数

web下的提交数据的方法有2种,GET,POST,不明白的可以直接去面壁了.到底采用哪种方式提交,取决与form 的 method 值.作为node.js下大名鼎鼎的express框架,如何获取这2中参数呢(1) 先看路由规则app.get(‘/group/:groupID’,function(request,response,error){response.render(‘group’,{title:‘分组管理’,userList:[]};});上面的路由规则让我们不仅想起了MVC模式, 如: localhost:9210/group/1008这里要访问groupID 为 1008 的分组信

回到顶部