标签: express

什么是Express.js?

我是Node.js的学习者.

  1. 什么是Express.js
  2. Node.js的目的是什么?
  3. 为什么我们真的需要Express.js?我们如何使用Node.js有用吗?
  4. 什么是Redis?它是否附带Express.js?

redis node.js express

409
推荐指数
5
解决办法
17万
查看次数

使用node或Express返回JSON的正确方法

因此,可以尝试获取以下JSON对象:

$ curl -i -X GET http://echo.jsontest.com/key/value/anotherKey/anotherValue
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Content-Type: application/json; charset=ISO-8859-1
Date: Wed, 30 Oct 2013 22:19:10 GMT
Server: Google Frontend
Cache-Control: private
Alternate-Protocol: 80:quic,80:quic
Transfer-Encoding: chunked

{
   "anotherKey": "anotherValue",
   "key": "value"
}
$
Run Code Online (Sandbox Code Playgroud)

有没有办法在使用node或express的服务器的响应中生成完全相同的主体?显然,可以设置标头并指示响应的内容类型将是"application/json",但是有不同的方式来编写/发送对象.我经常使用的那个是使用以下形式的命令:

response.write(JSON.stringify(anObject));
Run Code Online (Sandbox Code Playgroud)

然而,这有两点可以说是好像是"问题":

  • 我们正在发送一个字符串.
  • 而且,最终没有新的线条特征.

另一个想法是使用命令:

response.send(anObject);
Run Code Online (Sandbox Code Playgroud)

这似乎是基于curl的输出发送一个JSON对象,类似于上面的第一个例子.但是,当在终端上再次使用卷曲时,在身体的末端没有新的线条字符.那么,如何使用node或node/express在最后附加一个新行字符来实际记下这样的内容?

json httpresponse node.js express

405
推荐指数
9
解决办法
64万
查看次数

如何使用Node.js下载文件(不使用第三方库)?

如何在不使用第三方库的情况下下载带有Node.js的文件?

我不需要任何特别的东西.我只想从给定的URL下载文件,然后将其保存到给定的目录中.

javascript download fs node.js express

390
推荐指数
20
解决办法
40万
查看次数

Express.js - app.listen vs server.listen

这可能是一个非常基本的问题,但我根本就没有得到它.使用Express.js创建应用程序和启动应用程序侦听端口1234 之间的区别是什么,例如:

var express = require('express');
var app = express();

//app.configure, app.use etc

app.listen(1234);
Run Code Online (Sandbox Code Playgroud)

并添加一个http服务器:

var express = require('express');
var http = require('http');

var app = express();
var server = http.createServer(app);

//app.configure, app.use etc

server.listen(1234);
Run Code Online (Sandbox Code Playgroud)

有什么不同?
如果我导航到http://localhost:1234,那么我得到相同的输出.

node.js express server

378
推荐指数
5
解决办法
11万
查看次数

bodyParser已弃用快递4

我正在使用快递4.0,我知道身体解析器已被取出快递核心,我使用推荐的替代品,但我得到了

body-parser deprecated bodyParser: use individual json/urlencoded middlewares server.js:15:12 body-parser deprecated urlencoded: explicitly specify "extended: true" for extended parsing node_modules/body-parser/index.js:74:29

我在哪里可以找到这个假设的中间件?或者我不应该收到此错误?

var express     = require('express');
var server      = express();
var bodyParser  = require('body-parser');
var mongoose    = require('mongoose');
var passport    = require('./config/passport');
var routes      = require('./routes');

mongoose.connect('mongodb://localhost/myapp', function(err) {
    if(err) throw err;
});

server.set('view engine', 'jade');
server.set('views', __dirname + '/views');

server.use(bodyParser()); 
server.use(passport.initialize());

// Application Level Routes
routes(server, passport);

server.use(express.static(__dirname + '/public'));

server.listen(3000);
Run Code Online (Sandbox Code Playgroud)

middleware node.js express

372
推荐指数
8
解决办法
18万
查看次数

在express.js上启用HTTPS

我正在尝试让HTTPS在express.js上运行节点,我无法弄明白.

这是我的app.js代码.

var express = require('express');
var fs = require('fs');

var privateKey = fs.readFileSync('sslcert/server.key');
var certificate = fs.readFileSync('sslcert/server.crt');

var credentials = {key: privateKey, cert: certificate};


var app = express.createServer(credentials);

app.get('/', function(req,res) {
    res.send('hello');
});

app.listen(8000);
Run Code Online (Sandbox Code Playgroud)

当我运行它时,它似乎只响应HTTP请求.

我写了简单的node.js基于香草的HTTPS应用程序:

var   fs = require("fs"),
      http = require("https");

var privateKey = fs.readFileSync('sslcert/server.key').toString();
var certificate = fs.readFileSync('sslcert/server.crt').toString();

var credentials = {key: privateKey, cert: certificate};

var server = http.createServer(credentials,function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello World\n');
});

server.listen(8000);
Run Code Online (Sandbox Code Playgroud)

当我运行这个应用程序时,它响应HTTPS请求.请注意,我不认为fs上的toString()结果很重要,因为我已经使用了两者的组合而仍然没有es …

https node.js express

359
推荐指数
7
解决办法
32万
查看次数

如何在Windows上设置NODE_ENV = production?

在Ubuntu中它非常简单; 我可以运行应用程序:

$ NODE_ENV=production node myapp/app.js
Run Code Online (Sandbox Code Playgroud)

但是这不适用于Windows.是否有配置文件,我可以设置属性?

node.js express

308
推荐指数
13
解决办法
31万
查看次数

从module.exports中的另一个函数调用module.exports中的"local"函数?

如何从module.exports声明中的另一个函数中调用函数?

这是一些简化的代码.

在我的app.js中,我执行以下操作:

var bla = require('./bla.js');
console.log(bla.bar());
Run Code Online (Sandbox Code Playgroud)

而在bla.js里面是

module.exports = {

  foo: function (req, res, next) {
    return ('foo');
  },

  bar: function(req, res, next) {
    this.foo();
  }

}
Run Code Online (Sandbox Code Playgroud)

我正在尝试foo从函数中访问该函数bar,我得到:

TypeError: Object # has no method 'foo'

如果我改成this.foo()只是foo()我得到:

ReferenceError: foo is not defined

node.js express

301
推荐指数
8
解决办法
19万
查看次数

了解护照序列化反序列化

您如何解释Passport序列化和反序列化方法的工作流程.

  1. user.id去哪儿passport.serializeUser打电话?

  2. 我们正在呼吁passport.deserializeUser它在哪里适合工作流程?

    // used to serialize the user for the session
    passport.serializeUser(function(user, done) {
        done(null, user.id); 
       // where is this user.id going? Are we supposed to access this anywhere?
    });
    
    // used to deserialize the user
    passport.deserializeUser(function(id, done) {
        User.findById(id, function(err, user) {
            done(err, user);
        });
    });
    
    Run Code Online (Sandbox Code Playgroud)

我仍然试图绕过它.我有一个完整的工作应用程序,并没有遇到任何类型的错误.

我只是想了解这里到底发生了什么?

任何帮助表示赞赏.

authentication serialization node.js express passport.js

300
推荐指数
3
解决办法
10万
查看次数

Express-js无法获取我的静态文件,为什么?

我已将代码缩减为我可以制作的最简单的express-js应用程序:

var express = require("express"),
    app = express.createServer();
app.use(express.static(__dirname + '/styles'));
app.listen(3001);
Run Code Online (Sandbox Code Playgroud)

我的目录看起来像这样:

static_file.js
/styles
  default.css
Run Code Online (Sandbox Code Playgroud)

然而,当我访问时,http://localhost:3001/styles/default.css我收到以下错误:

Cannot GET / styles /
default.css
Run Code Online (Sandbox Code Playgroud)

我正在使用express 2.3.3node 0.4.7.我究竟做错了什么?

node.js express

297
推荐指数
9
解决办法
25万
查看次数