Tag: expression

表示4.x将httpredirect到https

我有以下代码: var https = require('https'); var http = require('http'); var express = require('express'); var app = express(); var router = express.Router(); app.use('/', router); //listen server on https var server = https.createServer(config.sslCredential, app); server.listen(config.serverPort); //listen server on http, and always redirect to https var httpServer = http.createServer(function(req,res){ res.redirect(config.serverDomain+req.url); }); httpServer.listen(config.httpServerPort); 但不知何故,我不能让https请求被redirect到https请求,我应该如何正确使用快递4.x node.js做到这一点?

增加一个新的路由到节点expression

我试图在快速应用程序中添加新路线,但在尝试启动服务器时出现错误。 错误是 C:\development\node\express_app\node_modules\express\lib\router\index.js:252 throw new Error(msg); ^ Error: .get() requires callback functions but got a [object Undefined] 这里是我的文件,我是新的节点,所以让我知道,如果我遗漏了一个重要的文件 路线/ furniture.js exports.furniture = function(req, res){ res.render('furniture', { title: '4\267pli' }); }; 路线/ index.js /* * GET home page. */ exports.index = function(req, res){ res.render('index', { title: '4\267pli' }); }; 意见/ furniture.ejs <!DOCTYPE html> <html> <head> <title>4&middot;pli […]

在Node.js + Express(通过多方)上传表格

这是我在app / routes / index.js中的上传方法: exports.uploadFile = function(req, res) { var multiparty = require('multiparty'); var gm = require('gm'); var fs = require('fs'); var form = new multiparty.Form(); var size = ''; var fileName = ''; form.on('part', function(part){ if(!part.filename) return; size = part.byteCount; fileName = part.filename; }); form.on('file', function(name,file){ console.log(file.path); console.log(__dirname); console.log('filename: ' + fileName); console.log('fileSize: […]

获取执行上下文的Node.js编程模式

我在node.js中编写一个web应用程序 现在,服务器上的每个处理都始终处于会话的上下文中,当请求到达服务器时,会在第一阶段检索或创build该会话。 之后,执行stream程将通过多个模块和callback。 我正在努力的是创build一个编程模式,以便在代码中的任何一点,会话对象是可用的,没有程序员要求它在每个函数调用中作为parameter passing它。 如果所有的代码都在一个单独的文件中,我可能有一个闭包,但是如果有其他文件中的其他模块的函数调用,我如何编程,使会话对象在被调用的函数中可用,而不传递它作为参数。 我觉得这两个文件中的两个函数应该有一些联系,但是如何安排这个就是我陷入困境的地方。 总的来说,我想说总有一个执行上下文可能是一个会话或networking请求,其处理分散在多个文件中,并且执行上下文对象在所有点上都是可用的。 实际上可以有多个用例,例如每个networking请求有一个Log对象或每个会话有一个Log对象。 做这项工作所需的pipe道应该是横向安装的,不需要应用程序员烦恼。 他只知道执行上下文在所有地方都可用。 我认为这应该是大家面对的普遍问题,所以请给我一些想法。 以下是问题 MainServer.js app = require('express').createServer(); app_module1 = require('AppModule1'); var session = get_session(); app.get('/my/page', app_module1.func1); AppModule1.js app_module2 = require('AppModule2'); exports.func1 = function(req,res){ // I want to know which the session context this code is running for app_module2.func2(req,res); } AppModule2.js exports.func2 = function(req,res){ // I […]

Node,Angular,Express和视图引擎

我最近开始使用Angular,Node和Express。 我已经在Angular中创build了一些基于浏览器的应用程序,并试图将它们移植到Node和Express中的服务器应用程序中。 (特别是,将会从Twitter和另一个Wikidot中提取数据。) 由于我正在使用Angular进行数据注入和模板化,所以我不想使用其他视图引擎,如EJS或Jade。 我想使用已经写好的HTML / Angular代码尽可能less的修改。 我很困惑,为什么Express需要我有一个视图引擎。 获取此代码作为Node / Express应用程序工作的最简单方法是什么?

在string中创build一个文本文件在node.js中,并作为响应进行stream式处理

1)我正在使用express.js 2)我有一个string“Hello world!” 3)我想要一个用户点击 <a href=/download>Download</a> 4)用户应该得到Hello.txt下载的文本,而不是打开一个标签的文字。 5)我已经四处寻找方法来实现这一点,我猜测它与创buildreadstreams从缓冲区和pipe道到响应有关,但我大多数的例子处理从磁盘读取实际的文件,我不想读取磁盘,我只是想用一个string创build的文件作出回应。 谢谢!

nodejs / express – streamstdout立即到客户端

我产生了下面的孩子: var spw = spawn('ping', ['-n','10', '127.0.0.1'])我想在客户端( 浏览器 ) 一个 ,而不是一个整体。 到目前为止,我试过这个: app.get('/path', function(req, res) { … spw.stdout.on('data', function (data) { var str = data.toString(); res.write(str + "\n"); }); … } 然后: … spw.stdout.pipe(res); … 在这两种情况下,浏览器等待10个ping完成,然后打印整个结果。 我想一个接一个,怎么做到的? (客户端正在调用…/path和console.logs结果) 编辑:虽然我确实认为,websockets是必要的,我只是想知道是否有任何其他的方式。 我看到了几个令人困惑的SO答案 ,博客post(在这篇文章中,在第一步OP把日志发送到浏览器),这没有帮助,所以我决定去寻求一些关注。

如何拉扯@提到string像Twitter中的JavaScript

我在Node.js中编写了一个应用程序,它允许用户在twitter上提示消息。 我希望能够find用户并向他们发送通知。 为了做到这一点,我需要拉@usernames从node.js中的string查找提到? 任何build议,正则expression式,问题?

在开发环境中使用Angular CLI连接express.js

我find了一个很好的教程,解释了如何使用Angular CLI设置express.js,但在本教程中,angular度应用程序被编译到生产dist文件夹中: https : //scotch.io/tutorials/mean-app-with-angular- 2 -和-的棱angular-CLI 如何将express.js与Angular CLI集成,但我希望express.js能够与Angular应用程序的开发版本一起工作,并且如果我更改了express或angular应用程序,我希望nodemon重新启动。 已经花了八个小时试图让这个工作。 谢谢! 我不想在每次修改Angular应用程序时运行“ng build”(这需要太长的时间) – 我想要在我的angular度应用程序中保存更改时立即重新加载(就像我正在运行'ng serve ')或表示应用程序。 我find了一个教程,在这里你使用Express来连接Angular 2 QuickStart,它可以工作,但是我正在使用Angular CLI。 我知道Angular CLI使用WebPack,而QuickStart使用System.js

如何使用id-aes256-GCM与Node.JSencryption? “TypeError:DecipherFinal失败”

我想要使​​用经过validation的encryptionscheme(如AES-GCM)在Node.js中encryption一些数据。 如果我运行以下示例代码 app.get("/test", function(req,res) { var key = "12345678901234567890123456789012"; var iv = "123456789012"; var cipher = crypto.createCipheriv("id-aes256-GCM",key.toString("binary"),iv.toString("binary")); var decipher = crypto.createDecipheriv("id-aes256-GCM",key.toString("binary"),iv.toString("binary")); console.log(decipher.update(cipher.update("bla"))); console.log(decipher.update(cipher.final())); console.log(decipher.final()); }); 我没有得到一个控制台输出,但错误消息“TypeError:DecipherFinal失败”。 如果我使用密码AES-256-CTRF而不是“id-aes256-GCM”,这个代码工作正常,并在控制台上打印“bla”。 我究竟做错了什么? 编辑: 进一步调查显示,cipher.update(“bla”)返回“â”(单个字符…奇怪),cipher.final()返回一个空string。 我认为这不能是一个正确的密文,至less应该有明文的大小…