Articles of 静态文件

快递:是否有可能简化res.sendFile中的path?

这是我的目录结构: /用户/蒂蒂/ myproject的/应用/服务器/ …. app.js …./上市 …….. / CSS …….. / JS ……../视图 …………的index.html ………… about.html 和我的app.js文件: var express = require('express'); var app = express(); app.use(express.static('public')); app.get('/', function (req, res) { res.sendFile('/Users/Titi/myproject/app/server/public/view/index.html'); }); app.get('/about', function (req, res) { res.sendFile('/Users/Titi/myproject/app/server/public/view/about.html'); }); app.listen(2000, function () { console.log('Example app listening on port 2000!'); }); 它完美的作品。 但是我想知道是否有办法不必编写整个path(/Users/Titi/myproject/app/server/public/view/about.html)。 可以简化吗?

Windows上的Node.js + Express.js:最多等待两分钟的静态文件?

我在使用Node.Js / Express.js的Windows环境中遇到了一个问题,静态的JS文件可以在浏览器(禁用caching)中标记为“待处理”长达两分钟,之后它们似乎可以正常下载。 这通常发生在几次刷新之后。 没有显示任何错误,所以我不知道如何进一步调查。 相同的代码在Mac OSX环境下运行良好。 节点版本是v0.10.31,Express是4.8.5。 静态文件的代码是: app.use(express.static(path.join(__dirname, 'public'))); Chrome DevTools显示:

在示例express-jade项目中获取样式表和js的404

我使用默认的快速库在nodejs中创build了一个简单的静态页面。 但是,当我运行它时,nodejs无法拾取公共文件并在其上引发404。 我相信我所提供的道路是正确的。 这让我发疯。 我知道这个问题必须如此小而简单,以至于不值一提,但我无法find它。 你能帮我在这里吗? 代码在Rishavs / ComingSoonPage的 github上 感谢您的时间和帮助。 〜Rishav

在heroku中没有express.static的子目录

我看到一些非常奇怪的行为,其中一些文件正确地由我的express / node服务器(使用express.static() )返回,而不是子目录中的文件。 令人沮丧的是,它在本地使用节点或工头工作正常,它不会在heroku上工作。 这个要点在这里有主要的文件,我的应用程序结构如下所示: -app – index.html – img/ – base.png – sub/ – sub.png – scripts – base.js – sub/ – sub.js – css – base.css – sub/ – sub.css – server – app.js index.html和base。*文件都加载正常,它只是404.的sub。*文件似乎奇怪express.static会去1级深,但不是2 我已经尝试了一些不同的configuration,包括这个stackoverflow答案 。 我必须错过简单的东西。 谢谢您的帮助。 更新: 当我console.log下面的服务器上启动heroku,我得到: path.join(__dirname, '../app') /app path.join(__dirname, '../app') = /app path.join(__dirname, '/../app') /app/app path.join(__dirname, […]

节点静态vs express.static

我正在尝试在Node.js中设置静态文件服务器/caching。 我使用Express.js。 Express带有一个内置的静态服务器,Express绝对是最常用的框架之一,所以人们会期望静态中间件是超级可靠的。 不过,我环顾了一下互联网,发现包括Nodejitsu在内的大量人推荐了node-static npm模块。 我试图做两者之间的比较研究,但没有发现太多。 有没有什么区别? 我想使用Express.static,因为我已经使用Express,但是想做出正确的select。 这不是一个意见战争的post,我只是从那些知道他们正在谈论的东西,而不是“最爱”的特征进行比较 。

`express.static()`保持路由我的文件

在处理快速项目时,我正在尝试使用express.Router对象来处理我的应用程序路由。 在我的主要应用程序文件中,我为所有静态文件(css,javascript,html)添加了一个静态路由。 app.js var express = require('express'); var io = require('socket.io')(app); var bodyParser = require('body-parser'); var router = require('./include/router'); var app = express(); app.use('/', router); app.use(express.static(__dirname + '/public')); app.use(bodyParser.json()); io.on('connection', function(socket) { }); app.listen(3000); router.js var express = require('express'); var path = require('path'); var router = express.Router(); router.get('/', function(req, res) { res.sendFile('/html/index.html'); }); module.exports = […]

我可以在自定义(例如/ static /)path中使用koa-static服务资产吗?

https://github.com/koajs/static中的文档以及我个人使用koa-static的经验让我相信,你只能从你的应用的根URL中提供文件。 例如: app.use(serve('./some/dir/')); 鉴于以上使用serve ,访问文件./some/dir/something.txt的URL将是localhost:3000/something.txt 。 似乎没有办法configuration我的应用程序,以便相同的文件(以及同一目录中的所有其他文件)在localhost:3000/static/something.txt 。 我是Node和Koa的新手,所以我刚刚开始深入了解这一点,我可能错过了一些非常明显的东西。 我试图用koa-route来达到这个目的: app.use(route.get('/static/*'), serve(__dirname + '/some/dir')); 但在请求/static/something.txt我遇到了以下情况: TypeError: Cannot read property 'apply' of undefined at Object.<anonymous> (/Users/me/example/src/node_modules/koa-route/index.js:34:18) at GeneratorFunctionPrototype.next (native) at onFulfilled (/Users/me/example/src/node_modules/koa/node_modules/co/index.js:64:19) at /Users/me/example/src/node_modules/koa/node_modules/co/index.js:53:5 at Object.co (/Users/me/example/src/node_modules/koa/node_modules/co/index.js:49:10) at Object.toPromise (/Users/me/example/src/node_modules/koa/node_modules/co/index.js:117:63) at next (/Users/me/example/src/node_modules/koa/node_modules/co/index.js:98:29) at onFulfilled (/Users/me/example/src/node_modules/koa/node_modules/co/index.js:68:7) at /Users/me/example/src/node_modules/koa/node_modules/co/index.js:53:5 at Object.co (/Users/me/example/src/node_modules/koa/node_modules/co/index.js:49:10)

在Heroku上部署Nodejs无法为位于子文件夹中的静态文件提供服务

我正在部署一个使用Heroku的NodeJs应用程序。 一切工作正常,除了一个小问题提供静态文件。 我有以下configuration app.use(express.static(__dirname + '/htdocs')); 它工作正常,除非我尝试提供位于子文件夹中的静态文件。 www.example.com/bar.js //提供文件/htdocs/bar.js www.example.com/foo/bar.js //这找不到文件/htdocs/foo/bar.js 我忘记说,在我的本地环境一切正常,可能是与Heroku的东西,但我找不到原因。 有人有过这个问题吗? 解决scheme? 谢谢!

学习节点 – Express公用文件夹不工作

所以我是新来的节点,并试图学习如何使用express库。 不过,我试图找出问题是为什么我的/public文件夹中的文件似乎不被作为静态内容。 这是我的代码: var http = require('http'); var port = process.env.port || 1337; var express = require('express'); var handlebars = require('express3-handlebars'); var path = require('path'); var application = express(); application.use(express.static(path.join(__dirname, 'public'))); application.engine('handlebars', handlebars({ defaultLayout: 'main' })); application.get('/', function(req, res){ res.render('index.handlebars', { someProp: 3 }); }); application.listen(port); 和我的目录结构: / – server.js (the above referenced file) / […]

使用express.js在node.js中为html提供服务的最佳做法是什么?

我目前正在我的app.js / server.js文件中的所有我的权利,像这样: app.get('/', function(req, res) { res.render('index.html'); }); app.get('/about', function(req, res) { res.render('about.html'); }); app.get('/projects', function(req, res) { res.render('projects.html'); }); 我想如果我有15+的HTML页面,这可能不是最好的方式来打电话给他们。 有没有更好的方式来从另一个文件或位置提供服务,并使用导出或某些东西只能调用一个函数或app.js上的东西。 这可能是路由是为什么,但也许我不太了解它。 (添加更多的代码在同一个文件中) app.set('port', process.env.PORT || 3000); app.set('views', __dirname + '/public'); // used below code to render html files app.engine('html', require('ejs').renderFile); app.set('view engine', 'ejs'); app.use(express.favicon("public/img/favicon.ico")); app.use(express.logger('dev')); app.use(express.bodyParser()); app.use(express.methodOverride()); app.use(app.router); app.use(express.static(path.join(__dirname, 'public')));