Tag: 表示

快速更改快速路线path

我想知道一个方法来改变一个路由path(应用程序已经运行)。 var route = express.Route(); route.get('a/path/:id', callback); 我不想改变path'a/path/:id'到'another/path/:id'

如何使用节点聊天服务器的单个瞬间作为使用该应用程序的不同组织的mutitenant?

我已经为客户服务支持做了一个节点应用程序。 我想讨论下面的情景: 假设多个组织订阅我的客户支持服务(聊天服务)。 现在所有的客户我想使用相同的后端。 目前对于单个组织来说,应用程序正在工作。 假设一个客户来到网站abc.com,那么abc.com的代理能够服务通过节点应用传递给他们的聊天。 我给他们脚本像 <script type = 'text/javascript' src = 'http://chatting.com/?initialScript?organisation=abc' 通过它与他人“聊天”div被包括在他们的网站中,并且所有聊天stream量都stream向chatting.com(假设名称),而与abc.com无关。 chatting.com通过存储在浏览器中的cookie(第三方cookie)跟踪用户。 下一次,chatting.com发出的任何命令都会将该cookie与请求一起发送。 但是,当我想使这个应用程序多租户时,真正的问题来了。 现在假设abc.com和def.com订阅了我的应用程序。 并且用户在不同的选项卡中并排打开浏览器中的两个站点。 现在,由于我的应用程序将chatting.com cookies作为第三方cookie保存,因此abc.com和def.com“与我们聊天”选项将在浏览器中使用与chatting.com相同的cookie。 但是,这将导致冲突,因为两个客户的cookie数据是相同的。 在后端服务器将把这两个客户视为相同,因为他们与cookie的区别和cookie是相同的情况下。 所以这会导致问题。 现在我想到了一个解决scheme。 我使用快递作为后端Web服务器。 我将覆盖每个http响应中发送cookie的默认行为。 但会发送Cookie文件(一个用于“聊天我们”的div),它将使用document.cookie javascript函数在客户端写入cookie。 因此,我的应用程序cookies将成为第一方cookie。 因此,下一次请求发送到chatting.com,那么我将通过使用相同的document.cookie从abc.com的域中读取该cookie,因此cookie不会发生冲突。 但即时通讯find这个解决scheme。 如果有人有任何想法如何实现我的目标,我会感激。 提前致谢

Node.js / jade – 我如何将mysql数据作为本地variables传递给内联javascript?

我的节点脚本有这个在它: var connection = mysql.createConnection(…); connection.connect(); connection.query(/*sql query*/, function(err, rows, fields){ app.get('/', function(req, res){ res.render('index', { data: JSON.stringify(rows) }); }); }); 那么如果我在我的Jade模板中这样做: body p !{data} 它完全按照您的预期显示MySql查询中的数据。 但是如果我这样做: body script(type='text/javascript'). console.log(!{data}); 它给了我[Object, Object, Object, Object…. 为什么它是不同的解释,如果它是客户端Javascript的一部分? 我该如何解决这个问题? 我把JSON.stringify放在局部variables赋值中,因为如果我不这样做,无论我在哪个模板中试图放置它,都不会传递。 有没有另外一种方法可以改变数据呢?

静态相关文件没有find快速`sendFile()`和自定义根

我试图通过在ExpressJS中使用res.sendFile()来使用dynamic路由时提供静态文件夹: res.sendFile('index.html', { root : path.join(__dirname, 'myStaticContentFolder') }); 文件…/myStaticContentFolder/index.html确实得到了服务 – 因此: root域正确地调整了它的path。 但是,该文件夹内的所有文件都没有find相对于index.htmlpath。 它们是相对于URL根而不是root字段pathsearch的。 请注意,如果我使用以下方式,文件夹已正确投放 app.use('/foo/', express.static(__dirname + '/myStaticContentFolder'));

快速路由:如何在静态文件上返回404错误,并为angular色UI路由器维护HTML5Mode

我有一个AngularJS网页使用ui路由器在HTML5Mode路由,这意味着URL不必有“index.html#”既不是“#”。 为了达到这个目的,我将自己的expressconfiguration为ui-router wiki : app.use('/app', express.static(__dirname + '/../web/app')); app.use('/css', express.static(__dirname + '/../web/css')); app.use('/img', express.static(__dirname + '/../web/img')); app.use('/libs', express.static(__dirname + '/../web/libs')); app.use('/views', express.static(__dirname + '/../web/views')); app.all('/*', function(req, res, next) { res.sendFile(path.resolve(__dirname + '/../web/index.html')); }); 重要的部分是最后一行,所有调用不匹配app / css / img … return index.html 它的工作原理,问题来了,因为我有另一个规则返回公共文件: // Return file app.use('/file', express.static(__dirname + "/../public/", options)); 在angular度的应用程序中,我使用$ http来获取公共文件(文件名是URL上的一个参数),如果文件存在,我使用它: var fileUrl = […]

会话使用护照在node.js中失效

评估nodejs的护照; 我的理解是反序列化用户将被使用中间件调用每个请求,并且通常会为该用户发出数据库请求。 这几乎让我想起了一个投票请求。 为什么用户更新方法不会简单地使单个会话无效,在当时单独触发新的读取,假设没有大批量用户修改或频繁的用户更改? 它会不会显着减less阅读交换一大堆的更新?

加上支持expression

我想为我的快递添加支持。 我已经看到这个教程正在显示 $ express -h Usage: express [options] [dir] Options: -h, –help output usage information -V, –version output the version number -e, –ejs add ejs engine support (defaults to jade) –hbs add handlebars engine support -H, –hogan add hogan.js engine support -c, –css <engine> add stylesheet <engine> support (less|stylus|compass|sass) (defaults to plain css) –git add […]

使用节点js从本地文件夹下载文件的服务

我有一个文件在我的本地文件夹(一个.csv文件)。 我需要一个节点js服务,当我打到服务(通过邮递员/浏览器),它应该下载该文件。我尝试使用快速框架,但无法得到一个结果。 请帮忙。 app.get('/download',function(req, res){ console.log("got in download code"); res.setHeader('Content-disposition', 'attachment;filename=template.csv'); res.setHeader('Content-type', 'text/csv'); var file = __dirname + '/download-folder/template.csv'; console.log(file); res.download(file); }); 该控件不在app.get函数内部。 一切,我的控制台之前和之后的代码即将到来..,

路由模块化结构不工作

我已经得到了我的意思应用程序的结构,但现在让我们专注于快速路由,这里是我的结构: ├── node_modules ├── src │ ├── client │ │ └── … //Frontend things managed by angular (like views, etc…) │ └── server │ ├── modules //By module i mean an entity | | ├── auth | | | ├── users.model.js | | | ├── signin.controller.js | | | └── index.js | | └── … […]

Nodejs http://test.dev:3000/api/profile。 没有'Access-Control-Allow-Origin'标题Origin'http:// localhost:9000'

NodeJS – Angularjs CORS问题。 我有问题与REST POST到nodeJS。 REST GET似乎工作正常。 我看到了典型的消息,我似乎无法修复它。 XMLHttpRequest无法加载http://test.dev:3000/api/profile 。 请求的资源上没有“Access-Control-Allow-Origin”标题。 原因' http:// localhost:9000 '因此不被允许访问。 该响应具有HTTP状态码400。 NodeJS – 我有以下设置在我的app.js var cors = require('cors') app.use(cors()); // Enables CORS var enableCORS = function(req, res, next) { res.header('Access-Control-Allow-Origin', '*'); res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS'); res.header('Access-Control-Allow-Headers', 'Content-Type, Authorization, Content-Length, X-Requested-With'); // intercept OPTIONS method if ('OPTIONS' == req.method) { // res.send(200); […]