首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关于Nodester高速公路的几个问题

关于Nodester高速公路的几个问题
EN

Stack Overflow用户
提问于 2012-06-30 12:28:42
回答 1查看 168关注 0票数 0

我刚开始使用nodester作为nodejs应用程序paas,我遇到了一些问题。

让我澄清一下,我的本地机器运行节点0.7,而在nodester上,我使用节点0.6.17

下面的代码位于我的server.js文件中,由平台执行:

代码语言:javascript
复制
app.get('/static', function(req,res) {
  res.sendfile('views/myFile.html',function(error){
    if(err)
      res.send('An error has occurred');
  });
});
app.get('/', function(req,res){
  res.render('index.jade');
});

其余的代码是由Express.js生成的代码,特别是配置是

代码语言:javascript
复制
app.set('views', __dirname + '/views');
  app.use(express.static(__dirname + '/public'));
  app.set('view engine', 'jade');
  app.set('view options', {layout: 'layout.jade'}); //added by me but with no results

如果我在本地机器上运行这个配置,那么'/‘路由就可以正常工作,在正确的layout.jade视图中完美地发送layout.jade视图。‘/静态’路由,无问题地发送index.html。

但是,如果我在nodester上运行这段代码(编辑了package.json并请求节点0.6),就会得到不同的结果:

  1. '/‘路由不呈现layout.jade,而只呈现index.jade。这很奇怪,因为我刚刚编辑了由express生成的layout.jade文件!
  2. ‘/静态’路由只是抛出一个错误,我可以用回调来捕捉这个错误。因此,html文件不会被发送。

我哪里错了?我可能遗漏了什么..。有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-30 12:35:49

回答2

在nodester中,节点进程可能从不同的目录运行,使得process.cwd()不等于应用程序的根目录。

若要解决此问题,请使用以下代码

代码语言:javascript
复制
app.get('/static', function(req,res) {
  res.sendfile(__dirname + '/views/myFile.html',function(error){
    if(err)
      res.send('An error has occurred');
  });
});

回答1

类似的问题,如上。所以,请查收并告诉我。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11274074

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档