Tag: 表示

为什么我的错误不是以我的快速回复的forms返回的?

我有一个默认error handling程序安装在我的快速应用程序中。 app.use(function unhandledErrorHandler(err, req, res, next) { res.status(err.status || 500).json({ error: err }); }); 然而,每当我调用一个路由,并引发错误,我得到一个看起来像这样的响应。 { "error": {} } 有人可以帮助我明白为什么快递将我的错误返回为空对象吗?

在单个路线上实施头盔CSP

我正在创build示例Express应用程序来演示Content-Security-Policy(CSP)头文件,并试图使用helmet-csp 。 所有helmet-csp的文档都显示它通过app.use(csp({ … }))作为标准的第三方中间件 – 这将CSP头添加到我的应用程序中的每条path,但是我想要自定义它在个人路线上。 示例应用程序 var express = require('express'); var http = require('http'); var csp = require('helmet-csp'); var app = express(); app.use(csp({ directives: { frameSrc: ["'none'"] } })); app.get('/', (request, response) => { response.send('hi, :wave: =]'); }); app.get('/frameable', (request, response) => { response.send('you can frame me!'); }); http.createServer(app).listen(80, (err) => { if […]

cd中的“cd。”是什么意思? && npm安装“?

我正在使用快递发生器 。 运行发生器后,输出如下内容: install dependencies: $ cd . && npm install 什么是cd .的点cd . ?

快速静态服务器caching控制max-age = 0,必须重新validation

我已经使用express设置了一个简单的静态服务器。 var location = path.join(__dirname, 'public'); app.use(express.static(location, { cacheControl: true, setHeaders: function(res, path) { res.setHeader("Cache-Control","max-age=0,must-revalidate"); } })); 使用If-None-Match和If-Modififed-Since发送请求标题,如果我在不修改文件的情况下重新加载页面,我也可以在Chrome中的响应中看到304 Not Modified 。 如果我修改其中一个文件,我会得到一个200 OK 。 但是,为什么我的Chromenetworking选项卡显示的是下载的文件的大小,而不是在状态码304 Not Modified时说(from memory cache) ? 我期待如果文件没有被修改,并从服务器提供服务(如果修改),则从caching中加载文件。 感谢任何帮助和指导。

将数组名添加到jsonstring中的匿名数组

我怎样才能改变这一点: [{"name": "Donald"}, {"name": "George"}] 对此: {MyArray: [{"name": "Donald"}, {"name": "George"}]} 这是我使用node.js,express和body-parser制作的数据库服务器。 该string是使用集合('name')。find()。toArray函数生成的。

NodeJS – 等待callback完成

Pusedo代码: app.get('/', (req, res) => { request(url, callback1) //callback1 alters 'index' template a bit request(url, callback2) //callback2 alters 'index' template a bit request(url, callback3) //callback3 alters 'index' template a bit res.render('index'); //Have to render after callback1,2,3 are done }); 我如何确保render只在所有callback被解决后调用? PS。 每个呼叫的URL都不相同。

中间件Node Express App中的下一个路由未被触发

我正在使用中间件来调用下一个路由,但由于某种原因,它没有被调用。 这里是代码: app.get('/foo',function(req,res,next){ console.log('first route') next('route') },function(req,res,next){ // this route is never fired console.log('second route') res.send('second route') }) 第二个函数没有被调用。 有任何想法吗

在NodeJs中使用mariadb查询来使用asynchronous的正确方法是什么?

我是新来asynchronous/等待。 我试图使用asynchronous和等待,但查询不等待,它发生在最后和页面呈现之前的查询,所以我不能得到正确的答案呈现页面上。 这是我的代码之前使用asynchronous等待 orderMiddleware.newOrder = function (req, res) { var total = 0 var curr_total = 0 // get items from cart c.query('select * from cart where user_id=:userId', { userId: req.user.ID }, function (err, cart) { if (err) { console.log(err) } else { cart.forEach(function (item) { // Find item from DB and check their price […]

为什么/公共文件夹中的静态内容在node.js中

在具有express的node.js中,所有静态内容都放在/ public文件夹中。 有人可以帮我理解为什么我们需要把它放在公共文件夹? 如果我想在“views”文件夹中创build一个名为“static”的文件夹,并将所有图像,样式和脚本文件保存在该文件夹中。 因为我想保留与一个文件夹下的视图有关的所有东西。 如果这不是构build项目的好方法,请帮助我理解背后的原因。

Express JS,使用HTTPS不会加载页面

我想用https启动我的Web应用程序。 我用这个命令创build了自签名密钥和证书: openssl req -newkey rsa:2048 -sha256 -nodes -keyout key.key -x509 -days 365 -out public.pem -subj "/C=US/ST=New York/L=Brooklyn/O=Example Brooklyn Company/CN=my.example.com" 这为我创buildkey.key nad public.pem文件。 现在我想把它们分配给我的快速应用程序: const app = express(); const https = require('https'); const http = require('http'); const fs = require('fs'); app.get('/*', (req, res) => { res.send("Hello"); }); const options = { key: fs.readFileSync(`${__dirname}/key.key`), // Path […]