Articles of 静态文件

`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')));