草庐IT

Express-C

全部标签

node.js - 使用 npm 安装 express

我最近在ubuntu64位上安装了nodejs版本0.10.26。node-v和npm-v命令运行良好,我可以看到正确的版本。当我执行$sudonpminstall-gexpress安装顺利。但是,当我尝试使用express作为$expressmyProject创建一个项目时,我收到一条错误消息Theprogram'express'iscurrentlynotinstalled.Youcaninstallitbytyping:sudoapt-getinstallnode-express我必须在$PATH中包含一些路径才能运行express吗?请帮忙。 最佳答

javascript - 在 Node.js/Express 中,我如何 "download"一个页面并获取它的 HTML?

在代码中,我想下载“http://www.google.com”并将其存储在一个字符串中。我知道如何在python的urllib中做到这一点。但是如何在Node.JS+Express中做到这一点? 最佳答案 varutil=require("util"),http=require("http");varoptions={host:"www.google.com",port:80,path:"/"};varcontent="";varreq=http.request(options,function(res){res.setEncod

Node.js Express express.json 和 express.urlencoded 与表单提交

Express(或Connect的)bodyParser中间件被标记为已弃用,建议用户改用:app.use(connect.urlencoded())app.use(connect.json())但是,当我从Node.jsinAction运行示例时,我使用curl按照书中的建议填写表单:curl-Fentry[title]='Hohoho'-Fentry[body]='santalovesyou'http://abc:123@127.0.0.1:3000/api/entry它不起作用。req.body未定义。我错过了什么吗?它适用于bodyParser。编辑:Express4的解决方案

javascript - express 应用服务器。只听所有接口(interface)而不是本地主机

我对这些东西很陌生,正在尝试制作一些快速应用varexpress=require('express');varapp=express();app.listen(3000,function(err){if(err){console.log(err);}else{console.log("listen:3000");}});//somethingusefulapp.get('*',function(req,res){res.status(200).send('ok')});当我使用命令启动服务器时:nodeserver.js一切顺利。我在控制台上看到listen:3000当我尝试时curl

session - 使用 express/redis 进行 session 存储时,“ session ”未定义

我正在尝试在我的express应用中使用redis进行session。我执行以下操作:varexpress=require('express');varRedisStore=require('connect-redis')(express);app.configure('development',function(){app.use(express.session({secret:"password",store:newRedisStore({host:"127.0.0.1",port:"6379",db:"mydb"})}));稍后,在我的应用中,如果我执行以下操作:varwhate

node.js - Express.js 路由错误 : Can't set headers after they are sent

我不确定为什么会收到此错误。这是一个基于express.js构建的简单API,能够添加和删除帖子。当我触发删除路由器时发生错误。我读过这个错误通常发生在有两个回调时,但是,我似乎找不到任何双重回调。_http_outgoing.js:344thrownewError('Can\'tsetheadersaftertheyaresent.');Error:Can'tsetheadersaftertheyaresent.atServerResponse.OutgoingMessage.setHeader(_http_outgoing.js:344:11)atServerResponse.he

node.js - 使用 jasmine 测试 Express.js

我正在学习Node.js和Express框架。我是Jasmine的忠实粉丝。所以我想尽可能地使用jasmine,但是,我找不到用jasmine测试Express的好方法。例如,我应该如何在app.js中测试路由?如果我在app.js中有这条路线:app.get('/',function(req,res){...});如何使用jasmine进行测试? 最佳答案 从Jasmine2开始,在Node.js环境中使用Jasmine非常简单。测试express使用它的应用程序,我建议将Jasmine与supertest结合使用.下面是这样一个

node.js - 有没有办法通过 Express + Node.js 使用多个 View 引擎

场景:我使用Node.js开发了一些交易页面,Express+Handlebars作为View引擎和MongoDB.现在的问题是在模块集成期间,我得到了一些基于Express构建的页面+Jade作为View引擎。问题:如何集成基于Handlebars和一些基于Jade的页面? 最佳答案 添加两个引擎和consolidate.js在你的package.json在yourapp.jsvarengine=require('consolidate');app.engine('jade',engines.jade);app.engine('h

node.js - 当进程被杀死时,如何优雅地关闭我的 Express 服务器?

在生产中运行我的Express应用程序时,我想在服务器进程被终止时优雅地关闭服务器(即发送SIGTERM或SIGINT)。这是我的代码的简化版本:constexpress=require('express');constapp=express();app.get('/',(req,res)=>res.json({ping:true}));constserver=app.listen(3000,()=>console.log('Running…'));setInterval(()=>server.getConnections((err,connections)=>console.log(

node.js - 未调用 Express 4 中间件错误处理程序

对于某些页面,我的应用中有自定义500、404和403错误处理。因此,例如在数据库查询不成功后,我会去:returnnext({status:404,message:'Recordnotfound'});或returnnext(newError('Badthingshavehappened')});在我的中间件中,我有一个错误处理程序:app.use(function(err,req,res,next){//handleerror});问题是永远不会调用错误处理程序,而是将错误调用堆栈打印到浏览器中。我希望处理程序呈现自定义错误页面。app.jsvarexpress=require('