Articles of 表示

在Express路线中获取文件types

我有一个Express route /doc/:id ,用于提供文档的HTML表示,我希望它在附加“ .epub ”时用于EPUB表示。 不过,Express在一段时间内不会分开,所以如果我使用/doc/:id.epub将req.params.id设置为“ id.epub ”。 有没有办法将文件扩展名识别为一个单独的参数,或者我只是需要使用正则expression式来提取它? 我已经看过res.format ,但是看起来这只有在Accepted头文件被设置的情况下才有效,就我所见,如果URL被简单地input到浏览器中,它就不会被使用。

为什么我的小猫在从数据库中取出时不能说话?

遵循http://mongoosejs.com/docs/index.html上的指南,我很明显的误解了一些基本的东西。 为什么shema不适用于我检索的对象? 代码 mongoose = require('mongoose'); mongoose.connect('mongodb://localhost/local'); db = mongoose.connection; db.on('error', console.error.bind(console, 'connection error:')); db.once('open', function callback() { // yay! }); var kittySchema = mongoose.Schema({ name: String }) kittySchema.methods.speak = function () { var greeting = this.name ? "Meow name is " + this.name : "I don't have a name" console.log(greeting); } var Kitten = […]

ExpressJS / Request – GET后发出POST请求

我是node.js的新手,所以请忍受我在这里。 我想在GET之后发一个POST请求。 Idea一旦用户点击主页,我想将该用户redirect到salesforce,并进行OAU舞蹈。 我正在使用expressJS和mikeal的请求。 这是迄今为止的代码 server.get('/', function(req, res){ var client_id = "xxx"; var client_secret = "xxx"; var redirect_uri = "https://192.168.233.105:8000/callback"; var grant_type = "authorization_code"; var remotereq = request.post('https://na1.salesforce.com/services/oauth2/token').form( {"client_id":client_id, "client_secret":client_secret, "redirect_uri":redirect_uri, "grant_type":grant_type, "immediate":'true' } ); //How do I get the expressJS res object to use the remotereq object? }); 当我点击主页时,请求就会挂起。 我想我必须以某种方式得到expressJS响应对象与mikeal /请求对象玩好。 我如何将两者连接在一起?

通过Express中间件或通过构build系统预处理

通过中间件(使用快递)预处理静态资源是生产环境的一个好主意? 根据我的理解,中间件堆栈是按照每个请求的顺序运行的。 那不是说那个预处理中间会在每个请求之后重新生成一个静态资源(即some_styles.less – > some_styles.css)吗? 如果是这样,预先通过grunt.js等构build系统进行预处理并提供这些文件会更好吗? 我想最终呈现的CSS和JS连接到一个文件,并缩小。 另外,是否值得从仅包含静态内容的页面上的模板(如jade)预渲染html? 或者比它的价值更麻烦?

来自node.js的MongoDB查询(express-coffeescript-mongodb)

我是新来的数据库查询与noSQL数据库,并有一个快速的问题。 本质上,我想检索所有具有“publishedImage”设置为“true”的字段的“名称”。 我想将结果存储在一个数组中,然后使用类似于while循环的方式将无序列表中的名称打印到视图文件夹中的.jade模板文件中。 我需要做什么查询? 我知道如何用php和mysql来完成这个任务,但是在查看完节点教程之后,我开始更加困惑。 如果我可以得到一些帮助,我将非常感激! 多谢你们, 乔尔。

将数据从模板传回给调用者

我希望有一个模板呈现一些数据,这些数据需要传递给render的调用者。 例如,我正在使用一个模板来生成电子邮件,为此我需要一个主题以及正文。 我想要做这样的事情: app.render( 'email', function(err,html) { subject = ?get from template somehow? postEmail( subject, html, user_addr ); }); 也就是说,我希望模板能够决定主题中应该出现的内容(最好不要仅为主题行创build另一个模板)。

dynamic刷新一个div没有一个简单的DOM操作

我必须更新例如一个表,一个列表,如果一些值。 我可以插入新值并尝试重新加载整个页面以再次显示表或列表值。 如果我尝试Ajax更新,我必须操纵DOM,创build一堆新的标签,连接并注入旧的HTML。 这不是一个痛苦的方法,你甚至必须重新input之前创build的代码来展示新的条目。 例如:这是一个虚构的例子,说明我的意思: $.ajax({ url: '/post/addComment/', type: 'POST', data: 'comment=' + comment, beforeSend : function() { //waiting message $('#some_information_div').html('<strong>Updating…</strong>'); } }).done(function(data) { //new data comes here (by JSON, plain text, whatever…) if (data.status == 'OK') { //OHHH MAN WE HAVE TO POPULATE MANUALLY IT AGAIN var c = ''; c = '<table>' data.content.forEach(function(e) […]

socket.io不传输给浏览器

我似乎有socket.io安装程序,并试图发出一些鸣叫,但他们没有出现在浏览器中。 这是我在控制台中得到的: GET / 304 16ms debug – served static content /socket.io.js debug – client authorized info – handshake authorized LYlpc7dcpLyHCFcKYUJy debug – setting request GET /socket.io/1/websocket/LYlpc7dcpLyHCFcKYUJy debug – set heartbeat interval for client LYlpc7dcpLyHCFcKYUJy debug – client authorized for debug – websocket writing 1:: debug – websocket writing 5:::{"name":"tweets","args":[{"user":"AaronNewport97","text":"You're not your","latitude":51.56764399,"longitude":0.49722754}]} 51.56764399 0.49722754 以下是来自app.js的相关代码: […]

如何用Express 2.5在node.js中定义部分视图

我需要为我的node.js应用程序定义一个菜单,这个菜单对于logging用户和匿名用户来说应该是不同的。 我认为正确的方法应该是使用部分(我使用Express 2.5),但我不知道如何从应用程序和部分传递数据。 我是否需要在布局中添加一个条件来embeddedloggedPartial.ejs或anonymousPartial.ejs? 我确定必须有一个更干净的方法来做到这一点。

用Express打开页面

我已经阅读了很多,这似乎是一个混淆了很多人的问题。 我正在做一个明确的项目,我不想给你任何诱人的引擎,我用骨干和下划线,这对我来说就够了。 我想写纯HTML和渲染他们.. app.configure(function(){ app.set('port', process.env.PORT || 3000); app.set("view options", {layout: false}); app.use(express.static(__dirname + '/views')); app.set('views', __dirname + '/views'); app.use(express.favicon()); app.use(express.logger('dev')); app.use(express.bodyParser()); app.use(express.methodOverride()); app.use( express.cookieParser() ); app.use(express.session({ secret: 'topsecret' } )); app.use(passport.initialize()); app.use(passport.session()); app.use(app.router); app.use(express.static(path.join(__dirname, 'public'))); }); 这是我迄今为止..我很难理解如何expression知道如何呈现index.html文件作为我的主页,即使我有这样的: app.get('/', function(req, res){ console.log("Heyyyyyy"); }); 我希望没有任何被渲染和“Heyyyy”被打印,但明确呈现index.html和不打印“Heyyyy”