Articles of 静态

Express / Node / Cloud9 – 提供静态文件的问题

我在Cloud9服务器上使用Express提供简单的静态html文件。 我的文件结构很简单: /workspace /public 这里从c9.io截图 这里是我的代码,在浏览器中预览时,我得到了一个无法获取/(截图) 。 static.js(位于C9工作区): var http = require('http'); var path = require('path'); var express = require('express'); var app = express(); app.use(express.static(path.join(__dirname, '/public'))); http.createServer(app).listen(8080); static.html(位于/ public): <!doctype html> <html> <body> <p>Hello World!</p> </body> </html> 我知道服务器在正确的端口上侦听,因为使用Express直接写入响应stream时,预览工作如下: app.use(function(request, response) { response.end("Hello world!\n"); }); http.createServer(app).listen(8080); 道歉为简单的要求,我只是削减了一切,以了解我看到“无法GET /”的根本原因。 谢谢你的帮助。

不提供静态文件

我想从“css”文件夹中提供css文件… 到目前为止我有这样的代码: app.use("/static", express.static(path.resolve(__dirname + "/../views/public/css"))); 我把/../往后走。 这是我的文件夹层次结构: 我去/static/styles.css – 服务器不能得到这个

在Express中没有模板引擎的情况下将值添加到HTML中?

我已经接pipe了在Express上运行Node的网站的开发。 我应该注意到,这是我第一次使用Node或Express。 由于某种原因,原来的开发人员必须完全没有喜欢的模板引擎。 我们在前端使用的是Angular和Firebase,基本上都是这样,所以我明白为什么我们不会往服务器端的页面注入数据。 尽pipe如此,这仍然是件好事。 原来从未安装过模板引擎。 相反,他指示Node将views文件夹视为静态目录。 然后,他将这些文件呈现为纯静态文件。 例如: 摘录自App.js文件: app.use(express.static(path.join(__dirname, 'views'))); 摘录自路由文件: router.get("/", function(request, response) { response.render("index.html"); }); 我真的不想添加一个模板引擎,并在这一点上混乱的路线。 虽然我认真地怀疑我需要经常从服务器端注入数据,但是如果有的话,我想知道我该怎么做。 我能想到的唯一的东西就是这样的… router.get("/", function(request, response) { var data = request.query.someVariable; var fileContents = fs.readFileSync('../views/index.html', 'utf8') fileContents = fileContents.replace("$SomeDelim", data); response.send(fileContents); }); 那真的不是那么漂亮 有没有更好的方式做到这一点,而不使用模板引擎?

如何在node.js服务器中运行静态html文件

我是新的node.js,我已经学习node.js和expression框架 我知道如何运行服务器,设置路由器和基本呈现html模板,但所有的教程告诉通过res.send() render HTML或render如何查看静态文件?像静态sample.html: 就像http://127.0.0.1:8000/static.html一样 我的文件树如: root | |—server.js |—static |—static.html 如何通过设置路由器查看静态文件?或者使用一些中间件(更好地使用快速框架)? 更新:我试试这个: var express = require('express'); var app = express.createServer(); app.get('/', function(req, res){ res.send('Hello World'); }); app.configure(function () { app.use(express.static(__dirname + '/static')); }) app.listen(8000); 但它仍然不能工作:告诉我: Cannot GET /static/client.html

如何捕捉一个nodejs连接静态404错误?

我使用nodeJS和senchalab的连接中间件(不expression!!)。 我需要捕捉静态错误(如404)。 我如何得到这些? 我试图检查源,但我找不到一个方法来传递一个error handling程序connect.static。 这里是我必须使用的一般结构的要点: https://gist.github.com/2397415

Node.js Mongoose静态函数没有被调用

最近我一直试图重写我的node.js表示应用程序更符合mvc原则。 我也一直在尝试joinmongoose。 我在调用mongoose模型的静态函数时遇到问题。 userSchema.statics.findDuplicates = function (cb) { console.log("Duplicates called"); this.findOne({ email: this.email }, function(err, result){ if (err) throw err; if (result) { cb("A user with this email has already been created."); } else { cb(""); } }); } 现在的问题是我以后使用这个模式导出一个模型,所以这个包含在一个文件中: module.exports = mongoose.model('User', userSchema); 当我稍后在控制器内部调用这个(显然需要并预先启动模型): user.findDuplicates(function(result){ if (result) { res.send("Selle e-mailiga kasutaja on juba loodud."); […]

与express()一起使用中间件。与express.static一起使用

我使用PassportJS来保护WebApp(用AngularJS编写)。 我使用Express(4.0.0)的NodeJS在login屏幕后提供静态内容。 我不知道如何同时使用中间件和express.static() 。 我的(不工作)代码看起来像 app.use('/secure', function (req, res, next) { if (req.isAuthenticated()) return next(); res.redirect('/'); }, express.static(__dirname + '/../../client')); 中间件确保的计划是,只有当用户login时,用户才会被发送到WebApp。否则,他/她将被redirect到根文件夹。 我find了这个答案 ,但根据文档 ,新版本支持多种function。 这不是我正在寻找的“干净”的解决scheme,因为目录包含太多的子文件夹和文件。 提前致谢

节点JS,静态函数/variables最佳实践

我有一个Java背景,我正在试图build立一个节点的JS库。 我有这样的Java类, public class MyClass { static List<String> myList = initMyList(); private String something; public MyClass(String something) { validate(something); this.something = something; } public static String doSomething(String something) { return doSomethingWithMyList(something); } public String doSomething() { return doSomething(something); } private static String doSomethingWithMyList (String something) { // do something with list .. return something } […]

如何提供静态文件的dynamic?

比如我想根据用户访问的二级域名,定位到相应的目录: app.use(express.static(path.join(__ dirname,'/ public'))); 至: app.use(express.static(path.join(__ dirname,'/'+ domain +'/ public')));

只从Express静态目录服务.js文件?

我正在查找是否有可能从Express.js静态目录中只提供一种types的文件(通过扩展名筛选)。 例如,假设我有以下静态目录: Static FileOne.js FileTwo.less FileThree.html FileFour.js 并说,我只想使任何给定的请求只有扩展名为.js文件,所有其他请求将得到一个500响应(或类似的东西)。 我将如何去实现这一目标? Express是否具有我无法find的烘焙filter,还是我需要使用正则expression式?