Tag: 表示

Nodejs:如何为要下载的文件设置假path

在我的nodejs应用程序中,我有一个静态path“/ public”,它具有以下结构: -public -images -js -posts -2017 -07 -08 -09 正如你所看到的,我每年和每个月创build一个文件夹来存储文件。 现在,当我从视图链接文件,我可以看到path/posts/2017/09/file.txt ,我不想显示此 有没有办法设置一个虚假的path(也许有参数)为了隐藏我的文件夹结构?

TypeError:req.next不是一个函数

在节点中得到这个错误,我认为这是由于我的一件中间件,但它指向的代码行是我的用户控制器res.render()调用。 我找不到任何人在网上写这个错误,并且在查看代码一段时间后找不到原因。 有任何想法吗?

express.static处理根url请求

express.static正在处理根url请求。 例如,我想从https://example.com到https://example.com/dashboard进行快速redirect。 检查下面的情况,第一个工作,第二个不。 我希望第二个也能工作。 有人知道为什么 案例1(作品) app.get('/', (req, res, next) => { res.redirect('/dashboard'); }) app.use(express.static(path.join(__dirname, 'dist'))) app.get('/dashboard', (req, res, next) => { //do stuff }) 情况2(不适合我) app.use(express.static(path.join(__dirname, 'dist'))) //request doesn't come here app.get('/', (req, res, next) => { res.redirect('/dashboard') }) app.get('/dashboard', (req, res, next) => { //do some stuff })

NodeJS请求:如何获得响应作为一个string?

我有点失落 是否有可能在.on(response) (请参阅下文)中将响应主体作为string.on(response) ? 还是我疯了? 我知道我可以将一个WriteStream响应,但我需要响应正文和响应statusCode在同一个地方,以继续我的代码。 谢谢! var request = require("request"); request(url) .on('response', function(response) { console.log(response.statusCode); // 200 console.log(/* I need to get response body string here */); // <— can I have the response body as a string here? }) .on("error", function(err){ console.log("Problem reaching URL: ", err); });

TypeError:nodemailer.createTransport不是一个函数

我正在尝试在我的nodejs应用程序中实施nodemailer来发送电子邮件。 这是我的代码 var express = require('express'); var nodemailer = require('node-mailer'); var app = express(); app.post('/contact/send', function(req, res) { var transporter = nodemailer.createTransport({ service: 'Gmail', auth: { user: 'myEmailIdHere', pass: 'myPassword' } }); var mailOptions = { from: 'myName <myEmailIdHere>', to: 'myOtherEmailIdHere', subject: 'Website Submission', text: 'You have a submission with the following details… Name: ' […]

在路由中使用类expression

我决定从函数到类重写代码。 但是,我遇到了这样一个问题,我的这个undefined 路由 // router.js const ExampleController = require('./ExampleController'); const instanceOfExampleController = new ExampleController(); // Require express and other dependencies app.post('/post-to-login', instanceOfExampleController.login) // An error appears inside the method 和控制器 // My Controller class ExampleController { // Private method myPrivateMethod(info) { return info.toUpperCase(); } login(req, res, next) { console.log('———————-'); console.log(this); // Here "this" equal of […]

使用express和EJS导航

有一个问题搞清楚如何有效地浏览EJS页面: 文件目录: 我想从我的index.ejs页面转到about.ejs页面。 这是我的index.ejs页面的代码,目前没有正确导航: index.ejs: <!DOCTYPE html> <html> <head> <title></title> </head> <body> <h1> <a href="about.ejs"> This is a link to about page</a></h1> </body> </html> app.js服务器: const express = require("express"); const path = require('path'); const app = express(); app.set("views", path.resolve(__dirname, "views")); app.set("view engine", "ejs") app.get("/", (req, res) => { res.render("index") }); app.use(express.static('public')); app.listen(3000); 我可以在href中input什么来正确引用dynamic的about.ejs文件? 我已经知道我可以从我的公共文件夹引用静态文件,但我想引用dynamicejs文件夹。 如果不可能的话,任何提供相同function的解决scheme也都可以。

在NodeJS的所有请求中包含我的连接是否可以?

我有3个文件。 db.js , app.js , commentController.js 。 我在我的应用程序中的每个请求包括我的连接,以便我不会一次又一次地重复代码连接。 这是不好的/不安全的做法? 有没有更好的/适当的方式来实现这一点? db.js const mysql = require('mysql'); const pool = mysql.createPool({ host : 'host', user : 'user', password : 'password', database : 'dbname' }); exports.pool = pool; app.js const db = require('./db'); app.use((req, res, next) => { req.pool = db.pool; next(); }); commentController.js exports.showComments = (req, res) […]

当url参数未被传递时,Express路由不会被调用

我在我的server.js路由中间件有以下代码: app.use('/users', require('./routes/user.routes')); app.use((req, res) => res.status(404).json({code: 404, message: 'HTTP 404 Not Found'})); 以下是我的user.routes.js代码 router.get('/admin/:id', (req, res) => { return userController.findUserById(req, res); }); 它工作正常,只要我给: 本地主机:8080 /用户/pipe理员/ 123但是,当我给这个URL没有ID 本地主机:8080 /用户/pipe理员/ 它发送给我这个消息: {"code":404,"message":"HTTP 404 Not Found"} 在我看来,它应该指引我走适当的路线。 我错过了什么吗?

如何避免HTTPSconfiguration的Express服务器上的“网站不安全”

我正在创build一个Express应用程序,我想使用HTTPS。 我在StartSSL.com上创build了一个证书,将它导入到我的服务器中,现在可以正确地build立连接到服务器。 但是有一些错误: 为什么会发生? 我必须以某种方式添加中间证书吗? 这个证书应该已经签了,我可能是错的。 这是我在index.js中的configuration部分: var bodyParser = require('body-parser'); app.use(bodyParser.json()); // support json encoded bodies app.use(force_https); app.use(bodyParser.urlencoded({ extended: true })); // support encoded bodies app.use(helmet()); app.disable('x-powered-by'); app.use(function(req, res, next) { res.header("Access-Control-Allow-Origin", "*"); res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); next(); }); // Setup HTTPS const httpsPort = 3443; const options = { key: fs.readFileSync("./key.pem", "utf8"), […]