Articles of expression

避免使用node.js在rest apicaching

我search了很多关于这个主题,为什么/如何避免restfull APIcaching,但我没有得到一个有用的答案。 我使用faker模块构build了expressjs api来生成随机json数据,但对于第一个请求,一切都很顺利,但浏览器或任何其他请求上的任何刷新都会显示相同的数据。 我想每个请求生成一个随机的数据,但我想在第一个请求后,nodejs模块被caching。 我在用着 nodejs:最新版本,expressjs:v4.0,faker:最新版本 我的代码如下: 在路由器文件中: router.js var router = express.Router(); router.get('/name', controller.name); . . 在控制器文件中: json.controller.js //Get name var name = require('name.model.js'); exports.name = function(req, res){ var randomName = name; return res.json(200, randomName); }; 在模型文件中: name.model.js var faker = require('faker'); var nameModel = {}; nameModel.name = faker.name.findName(); module.exports = nameModel; 任何一个可以帮助如何避免restAPIcaching? […]

获取未定义的函数调用Express渲染()

我是Node和Express的新手,并且遇到从一个函数获取数据时遇到问题,并将其作为var传递给另一个函数。 我认为这是因为我没有正确处理callback和asynchronous的东西,但会很感激。 代码应该有希望解释。 我试图从URL中检索一些JSON数据,并将其传递给router.get函数的render()方法。 然而,没有什么(“未定义”)被发送。 当我单独运行getData()函数时,它会返回正确的数据,如上所述,我认为这是因为我没有正确处理asynchronous的东西。 function getData(cid){ var request = require("request"); var cid ='XXXXXX' // hard code temp var baseUrl = "someurl.com" var apiKey = "XXXXXX" var cUrl = baseUrl+cid+'?api_key='+apiKey request({ url: cUrl, json: true }, function (error, response, body) { if (!error && response.statusCode === 200) { console.log(body._embedded.assets); //Print the json response return […]

HTTP请求期间的RabbitMQ事件上的Express.js – res.send()?

我在我的网站上进行用户注册。 exports.regitser = (req, res)-> user = unique_id : "RANDOM_HASH" name : escape(req.body.name) pass : escape(req.body.pass) … # registrations starts here 在这一刻我需要推送数据到RabbitMQ交换,并等待在单独的队列"reg_results"响应。 当我在unique_id="RANDOM_HASH" "reg_results ”中收到消息后,似乎这个用户(对于这个HTTP请求)的注册成功完成,现在我可以给客户端res.send("You are registered!") 在继续来自客户端的HTTP请求的情况下处理这种模式的最好方法是什么? 提前致谢。

如何使用令牌(后)与node.js的Mysql?

我是一个新手程序员。 我一直在做一个非常小的网站。 我遇到了一点错误。 我find了一些解决scheme。 但是我还没有答复。 如果你不介意,请给我你的touhgt。 T ^ T 我使用Mysql连接了node.js。 'GET'运行没有任何问题。 但'POST'部分无法获取我在网页上input的一些数据。 我想知道的是为什么'POST'不能获取数据。 var fs = require('fs'); var ejs = require('ejs'); var http = require('http'); var mysql = require('mysql'); var express = require('express'); var client = mysql.createConnection({ user: 'root', password: 'PASSWORD', database: 'Company' }); var app = express(); http.createServer(app).listen(8080, function(){ console.log('Server running at http://127.0.0.1:8080'); }); […]

首页加载多个快速会话实例

我自动给每个用户一个会话,并将会话数据存储在一个名为sessions的MongoDB集合中。 我也设置一个cookie,使我可以识别每个(返回)用户。 当用户返回时,当cookie与请求一起发送时,我能够成功find我的会话。 一切工作正常期望用户第一次访问该网站。 前端(使用Angular构build)同时向节点服务器发出六个不同的调用(每个调用都有其自己的用途)。 由于没有设置cookie,节点服务器认为有六个不同的用户调用服务器,通过该服务器创build六个会话并存储到会话集合中。 下一个呼叫(在用户操作之后)发生在倒数第二个创build的会话中,并且每个将来的呼叫都使用此会话ID进行。 当用户首次访问网站时,如何解决初次创build六个不同的会话? 可以执行一个呼叫来“启动”会话,并在响应之后执行其余部分。 但如果有另一种select,我真的很想听到它。 我正在使用Express.js 4.0,Node.js v0.10.32和MongoDB v2.6.5的自定义版本。 这是我如何创build我的会议并设置cookie: app.use(session({ saveUninitialized: true, resave: true, cookie: { secure: false, httpOnly: false }, name: 'someName', secret: 'someScret', store: new mongoStore({ db: framework.mongoose.connection.db, collection: 'sessions' }) })); 如果您需要更多信息,请告诉我。

在加载Express 4.x之前启动数据库连接

我可能会错过一些东西,但在官方文档中似乎没有任何东西,所以我坚持要求在这里; 我试图设置一些东西asynchronous(连接到数据库等),当应用程序启动。 我希望在应用程序准备好接受连接之前完成此操作(出于显而易见的原因)。 有没有办法在Express 4.x中做到这一点? 下面是一个基本上我想要的例子 ,但是它不被支持,并且在这一点上已经过了4年。 任何帮助表示赞赏。 编辑:我觉得我应该指出,我使用express-generator来设置我的应用程序,所以所有的服务器侦听完成bin/www 。 我应该只是修改这个文件? 或者我可以从app.js控制它?

在JavaScript中注册string的string

我正在寻找在JavaScript中创build一个常规的exp来寻找像${………….} 。 可以说如果有string像 { "type" : "id", "id" : ${idOf('/tar/check/inof/high1')}, "details" : [ { "name" : "Sanio", "sig" : "DA123QW" }, { "name" : "Tarer", "sig" : "BAWE3QW" }, { "name" : "Kadek", "sig" : "KSWE2J" }, ] }, 所以我正在寻找所有$ {whateverhere} 我正在尝试 var pathRegExp = /\$(.*)\}/; 但它不是以“}”符号结尾。

在页面更改或closures时执行操作

我有一个NodeJS / Express(4.10.2)函数,通过产生一个外部subprocess: app.get('/', function(req, res){ res.sendFile(__dirname + '/index.html'); var spawn = require('child_process').spawn; var java = spawn("java", ['-cp', 'lib\\*;bin', 'com.my.app.App']); … } 我想要做的是添加一些匿名函数,当页面被改变,标签被closures,甚至刷新的时候会被调用。 简而言之,我想杀死产生的过程! Google在研究这个方面对我不好。

如何在除app.js之外的其他文件中构build套接字io服务器

我对node.js很新,现在我正在做一个在node.js上构build网站的项目。 对不起,如果我的问题是非常天真的。 我正在使用快速框架。 我的app.js正在监听端口(3000)。 在我的route.js中,我从调用一些API获得了一些数据。 我想显示数据到我的datapoint.jade文件。 而且,因为我想绘制这些数据点,我必须在jade中embedded一个JavaScript文件。 我想用socket.io来实现这个发送和接收数据。 但是,构造套接字的所有示例都在app.js中。 我得到的数据在router.js(在其callback函数之一)。 app.js需要router.js。 如何将数据从route.js发送到app.js,然后发送到客户端。 你能指导我一些相关和有用的信息吗? 或者我的devise根本无法工作?

在固定宽度div中包含“white-space:pre”的文本

如果标题有点模糊,请允许我解释一下。 我正在使用NodeJS,MongoDB和Express制作一个小问答应用程序。 目前我正在使用CSS做布局部分。 我有一个小文本区,在这里你可以提交文本,点击提交button后,你被redirect到一个页面,显示刚刚通过表单input的数据。 但是,文本的主体溢出了我为div设置的最大宽度,这发生在我添加了“white-space:pre”之后。 属性来启用邮件中的换行符。 在此之前,文本将保持在我为div定义的960像素宽度内,但不会有任何换行符。 这个视图的Jade代码: extends layout block content div.pageContainer h1 #{discussion.title} span(id="categoryMarker" style="font-size: 1.25em;") "#{discussion.category}" h3 #{discussion.author} |  -   span Created on #{discussion.date.toDateString()} br br div#bodyText p #{discussion.body} footer div.wrapper a.hvr-grow(href="/discussions") Back to all threads span.hvr-grow(style="color:white;")   -   a.hvr-grow(href="/discussions/create") Start a thread CSS样式表(与来自textarea的input显示的p相关) #bodyText { font-size: 0.75em; font-family: Arial, "Helvetica Neue", Helvetica, […]