草庐IT

expressive

全部标签

node.js - Express JS 重定向到默认页面而不是 "Cannot GET"

我正在使用expressJS,并且我有一组路由,我定义如下require('./moduleA/routes')(app);require('./moduleB/routes')(app);等等。如果我尝试访问上述路由中未定义的任何路由,请说http://localhost:3001/test它说CannotGET/test/但不是这个,我想重定向到我的应用程序的索引页面。我希望这种重定向发生在所有未定义的路由上。我怎样才能做到这一点? 最佳答案 尝试添加以下路线作为最后一条路线:app.use(function(req,res){

javascript - 脊椎、node.js (express) 和 Access-Control-Allow-Origin

我正在本地电脑上开发一个应用程序。前端应该使用spinjs构建,后端API应该使用node.js。Spine在端口9294上运行,node.js在端口3000上运行。在Spine中,我在模型中添加了以下内容:@url:"http:localhost:3000/posts"在我的express服务器中app.get('/posts',function(req,res){console.log("givingALLtheposts");res.header("Access-Control-Allow-Origin","*")res.json(posts);});但我总是在chrome中收到

node.js - nodejs(express)是否可以有不区分大小写的查询字符串?

查询字符串似乎区分大小写。是否可以有不区分大小写的查询字符串?如果我的网址有?Id=10,访问req.query.id会返回undefined。 最佳答案 按原样不可能,但您可以插入一个非常简单的中间件,例如,将req.query中的所有键小写://insertthisbeforeyourroutesapp.use(function(req,res,next){for(varkeyinreq.query){req.query[key.toLowerCase()]=req.query[key];}next();});

parsing - 如何在 express.js Jade 模板中呈现 markdown?

我使用expressjs框架。我有一个来自数据库的Markdown字符串,并希望在我的Jade模板中将其呈现为HTML。我安装了node-markdown并希望以这种方式呈现它:app.jsvarmd=require("node-markdown").Markdown;template.jade-eachnoteintodo.notesdiv=md(note.string)但是,它并没有打印出任何东西......对此有什么建议吗?谢谢!编辑:自己解决了,只是忘记将md变量放入我的View中... 最佳答案 “过滤器”的概念将“编译器

node.js - 如何从 basicAuth (Express) 中注销

我正在尝试使用express设置网络服务器。要访问此服务器,用户必须进行身份验证,为此,我使用Express提供的basicAuth()中间件。它工作得很好,除了我登录后不知道如何注销!我必须关闭浏览器才能断开连接,但我希望有一个“断开连接”页面,该页面将重定向到“登录”页面(这个页面带有用于登录的可怕表单......)。有人有想法吗?提前致谢PS:我为我可怜的英语道歉:) 最佳答案 Express'basicAuth使用HTTP基本身份验证,其实现不需要HTML页面、cookie或sessionID。它的主要缺点是不安全,而且我们

node.js - 尝试在 Heroku 上部署 Node.js/Express/Socket.io 应用程序时出现应用程序错误

我对所有这些技术(包括一些JavaScript)都很陌生,所以你可能不得不在这里忍受我。我非常密切地按照Socket.IO文档中的ChatApp教程进行操作,并根据自己的喜好对应用程序进行了一些修改;但是,我认为我在服务器交互和其他方面没有太大变化。我的问题是无论我做什么,我似乎都无法让我的应用程序在Heroku上成功运行。尝试加载应用程序时收到此错误消息:ApplicationErrorAnerroroccurredintheapplicationandyourpagecouldnotbeserved.Pleasetryagaininafewmoments.Ifyouaretheap

javascript - 使用 Multer 重命名上传的文件不起作用 (Express.js)

我正在尝试使用Express.js和Multer从HTML表单上传文件。我已设法将文件保存到所需位置(名为uploads的文件夹)。但是,我想在上传文件时重命名文件,因为默认情况下,Multer给它一个奇怪的名称,例如:5257ee6b035926ca99923297c224a1bb可能是一个十六进制的时间戳,但我需要一个更明确的名称,以便稍后在其上调用脚本。我已经按照here的解释进行了操作但它并没有比以前做更多的事情:上传带有十六进制名称的文件。此外,两个事件onFileUploadStart和onFileUploadComplete似乎从未被触发,因为我的控制台中没有记录任何内容

node.js - 有没有办法稍后使用 EJS 和 nodejs/express 添加 CSS/JS

我正在使用带有nodejs/express的EJS模板引擎,我想知道是否可以在index.ejs(而不是layout.ejs)中添加另一个css或js文件layout.ejsindex.ejsWelcometo我不想在每个模板中添加第二个css文件,而只添加index.ejs-有什么办法可以做到吗? 最佳答案 在这里找到了解决方案:Node.jswithExpress:Importingclient-sidejavascriptusingscripttagsinJadeviews?它使用的是Jade而不是EJS,但工作原理都是一样的

node.js - Express - 从 Web 服务返回二进制数据

我尝试使用Express返回一些二进制数据。在示例中,它是PDF,但理论上,它可以是任何类型的文件。但现在只关注pdf。我写了这段代码:app.get('*',function(req,res){getBinaryData(req.url,function(answer){res.type('pdf');res.end(newBuffer(answer,'binary'));},function(error){res.setHeader('Content-Type','text/plain');returnres.end(error);});});根据我在这里看到的:https://g

node.js - Express.js 版本 4 中 req.url 和 req.originalUrl 的区别

我正在尝试在Express.js版本4应用程序中实现登录功能。我需要确定用户是否已登录,然后才能执行某些操作。所以我有一个名为isLoggedIn的中间件,它只检查用户对象是否在session中,如果没有,用户将被重定向到登录页面。用户登录成功后,必须重定向到原来的URL。app.get('/someaction',isLoggedIn,'actualfunctiontobeexecuted');现在在isLoggedIn方法中,我看到req.url和req.originalUrl包含请求的操作。但是如果用户没有登录,当重定向到/login页面时,req.url和req.origina