Node.js / express.js默认路由更改在ubuntu中看不到

时间:2017-10-07 04:50:29

标签: javascript node.js ubuntu express routing

编辑------------

所以我想出了问题,重新启动并重新加载nginx没有任何效果,但是如果我停止了nginx实例,然后重新启动它,我对服务器文件所做的任何更改都生效了。我明白这一点很棒,但是有人能让我深入了解这是为什么吗?如果我理解为什么会发生这种情况会更好。我对客户端文件(如html文件)所做的任何更改都会立即生效,只有服务器文件才能停止,然后重新启动nginx实例才能生效。

以下原文张贴----------------------

我使用express.js对我部署的Node.js应用程序的服务器端文件所做的任何更改都不会被ubuntu看到。基本上,我有一个在ubunut上部署的平均应用程序,它是一个多页面应用程序,只有其中一个页面有部分,所以我使用我的routes.js 捕获路由并将它们发送到我的main.js文件,告诉express和node要加载哪个html或ejs文件。

我对我的计算机上的版本进行了更改,以便所有其他路由都转到某个html,它运行良好。但我把我的更改推送到github,然后在我的ubuntu实例中将它们拉出来,但它没有工作。在此期间我对项目所做的所有其他更改都已生效。但是,就像ubuntu不让节点看到对routes.js文件的任何更改,代码就在那里,我甚至用“vim”修改了它。从我的终端,但我做的任何改变,甚至是那些应该破坏它的,都不会被节点看到。然后走向意想不到的路线显示“无法获得...”'页。

我已经摧毁了我的大脑,但是我很难过,代码就在那里我可以改变它,我通过vim改变了html页面来测试它。但是,处理我的路由的routes.js文件和我的server.js文件都没有反映我的更改,即使我改变应该破坏它的东西。有任何想法吗?如果您需要更多信息,请告诉我,我已将我的文件包含在下方。此外,我使用nodemon,以便在任何时候进行更改时自动重新启动

SERVER.JS FILE -------------------------------

var express = require('express'),
    app = express(),
    path = require('path'),
    bodyParser = require('body-parser')

app.use(bodyParser.urlencoded({extended: true}))
app.use(bodyParser.json())
app.use(express.static(path.join(__dirname, './client')))
app.use(express.static(path.join(__dirname, './client/views')))
app.use(express.static(path.join(__dirname, './bower_components')))
app.set('views', path.join(__dirname, './client'));
app.set('view engine', 'ejs');


require('./server/config/routes.js')(app)

var port = 8000
app.listen(port, function(){
  console.log('Server on port: ' + port)
})

ROUTES.JS FILE -----------------------------

var Main = require('../serverControllers/main.js')

module.exports = function(app){
  app.get('/', Main.main)
  app.get('/contact', Main.contact)
  app.get('/algorithms', Main.algorithms)
  app.get('/projects', Main.projects)
  app.get('*', Main.other)
  app.use(Main.other)
}

MAIN.JS FILE ----------------------

module.exports = {
  main: function(req, res){
    res.render('index')
  },
  contact: function(req, res){
    res.render('contact')
  },
  algorithms: function(req, res){
    res.render('algorithms')
  },
  projects: function(req, res){
    res.render('projects')
  },
  other: function(req, res){
    res.render('default')
  },


}

0 个答案:

没有答案