Tag: express

追加对象到一个json文件

我有一个任务来实现一个伪购物车页面,当我点击结帐时,我想发送一个请求到一个json文件“ordersTest.json”,结构如下: { "orders": [] } 。 所以当一个post请求发送时,我必须把数据放在json中的这个orders数组中。 我对Nodejs是完全陌生的并且expression。 这是我的第一个项目,我想出了一个非常简单的服务器。 const express = require('express') const path = require('path') const fs = require('fs') const url = require('url') const bodyParser = require('body-parser') const app = express() const ordersJson = require('./public/ordersTest.json'); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: true })); app.post('/api/orders', (req, res) => { let body = req.body; console.log(body); fs.appendFile('./public/ordersTest.json', JSON.stringify(body), err […]

javascript的子类node.js表示方法来添加常见的function?

对不起,在这里还是比较新的JavaScript,所以希望这个问题不太难堪,但是: 我发现我沿着以下几行在node.js(express)中写了很多代码: app.get("urlscheme1", function (res, resp) { try { auth_request(req); // throws on failure validate_url_params(req); // throws on failure common_tasks(); specific_taskABC(); } catch (e) { if (e.error == "auth") { resp.send(….); } else if (e.error == "url_scheme") { resp.send(….); } else { resp.send(translate_error(e), code_for_error(e)): } } }); app.put("urlscheme1", function (res, resp) { try { auth_request(req); […]

NodeJS快速站点

我已将我的快递站点移到免费层的Amazon EC2服务器上。 我想让服务器能够正常运行,但是我知道如何运行这个站点的唯一方法就是通过SSH(通过Putty),尽pipe这个问题是一旦Puttyclosures,站点就closures了。 有没有解决的办法?

正确的方法来组织Node.js应用程序的rackspace cloudfiles中的许多用户的图像?

我有一个简单的Node.js应用程序。 我将有用户configuration文件,每个用户可以上传几个图像。 图像将被上传到Rackspace Cloudfiles。 我目前正在使用Rackit模块。 目前它的工作方式是: 我向Rackit传递一个文件,将其上传到Rackspace Cloudfiles,并将CDN url返回给该映像(映像名称已被rackit散列)(url类似于下图): http://c15142174.r14.ca2.rackcdn.com/Y20h30Jd918aHV3pKROzejdq Rackit目前将所有图像保存到一个容器中。 这是我的问题: 1)我应该将每个用户的图像保存到一个单独的容器(为了隐私,安全,并确保一个用户不能抹去其他用户)? 2)简单地将上面的url ref存储在一个数据库中并且在将来以这种方式引用它就足够了吗? 我可以指望这个url不变? 3)将用户的图像加上用户名或哈希值,将图像与给定的用户关联起来会更有意义吗? 最佳实践方法是什么? 谢谢

在Express上使用外部模块进行Jade模板inheritance的一个很好的策略

我正在开发一个框架,开发人员可以在外部模块中实现一个子模板。 我想稍后将该模板包含在父模板中。 这是一个基本的模板模式: ─使命(母模板) ├─接替任务(小孩模板) ├─失败的任务(儿童模板) └─玩任务(儿童模板) 父模板对每个人都是一样的。 子模板由贡献者实现,并始终显示在不同的时刻(任务状态)。 我在一个模板文件中尝试两种方法。 实施“块”模式: block mission_play h2 Hello world! p Lorem ipsum dolor sit amet, consectetuer adipiscing elit. block mission_succeed h2 Congratulations! p You won buddy! block mission_failed h2 Oh my gosh, dude, you did something realy bad p You should try again 这一个不会工作,因为我没有任何extend layout指令(我不能使用,因为每个子模板是一个外部模块)。 有什么办法可以手动指示玉哪个模板扩展? 在mixin中实现每个子模板: mixin […]

Bodyparser错误。

我没有在Express中使用Bodyparser中间件。 可能是什么问题? 我的代码: Node.js的: var express = require('express') , app = express() , expressLayouts = require('express-ejs-layouts'); app.set('view engine', 'ejs'); app.set('layout', 'myLayout'); // defaults to 'layout' app.use(expressLayouts); app.use(app.router); app.use(express.bodyParser()); // <- Problem with this app.get('/', function(req, res){ res.render('aView.ejs', { layout: 'template.ejs' }) // it renders HTML & script }); app.post('/myroute/', function(req, res) { console.log("output if this […]

node.js在variables中表示mvc方法名称

我有一个问题给控制器加载我的模型的名称: 我的app.js var express = require('express'); var app = express(); app.everyauth = require('everyauth'); app.mongoose = require('mongoose'); var fs = require('fs'); var config = require('./config.js')(app, express); //Include models var models = {}; fs.readdir(__dirname + '/models', function(err, files){ if (err) throw err; files.forEach(function(file){ var name = file.replace('.js', ''); models.name = require('./models/' + name)(app.mongoose).model; }); }); //Include controllers […]

node-mongodb-native:如何通过我的应用程序共享连接callback的db api对象

我正在从mongoose回滚到node-mongodb-native。 所以我在这个话题上是相当新的。 然而,我现在的问题是,想在服务器启动,然后我可以通过应用程序使用创build一个数据库集合。 不幸的是,我只能在存储库中find实例,只能在connect函数的callback中直接执行数据库操作。 文档: var mongodb = require("mongodb"), mongoServer = new mongodb.Server('localhost', 27017), dbConnector = new mongodb.Db('example', mongoServer); db_connector.open(function(err, db) { if (err) throw new Error(err); // here I can do my queries etc. }); 但是当我在某个路由callback中的时候,我怎样才能访问callback中的db对象呢? 目前我唯一的想法是将应用程序包装到callback中: var mongodb = require("mongodb"), express = require("express"), mongoServer = new mongodb.Server('localhost', 27017), dbConnector = new mongodb.Db('example', mongoServer); […]

Node.js公共静态文件夹以UTF-8字符集服务js

我正在使用node.js并将静态JavaScript文件传递给单个页面应用程序。 在node.js服务器代码中,我使用express.static来允许公共访问文件夹 app.use(express.static(__dirname + '/public/')); 在客户端,我使用$.getScript来获取存储在公共文件夹中的JavaScript文件,例如: $.getScript("js/init.js"); 当我尝试获取一些带有重音符号或某些UTF-8特殊字符的JavaScript文件时,我会得到奇怪的字符,而不是我想要的。 当我定义公用文件夹时有什么方法可以设置字符集?

如何获取mongoose模型的单个属性?

在阅读The Little MongoDB的书后,我刚刚开始玩mongoose。 我很新,到目前为止,我已经知道如何从mongoose中查询我的集合,并根据它们的属性来查找文档,但是我想知道的是实际上如何仅显示文档中的每个文档的一个属性收集,例如,在一个Express res.send()。 就像一个学习实验一样,如果你愿意的话。 我在CoffeeScript中编写了这段代码: express = require 'express' app = express() http = require 'http' server = http.createServer app mongoose = require 'mongoose' mongoose.connect 'localhost', 'linkreferrers' # ## Ignore these configurations for now # app.configure -> # app.set 'views', __dirname + '/views' # app.set 'view engine', 'jade' linkSchema = new mongoose.Schema { […]