【问题标题】:Cannot GET / request无法获取/请求
【发布时间】:2021-03-16 15:40:48
【问题描述】:

我的路由器似乎无法在远程服务器上运行,但它在本地服务器上运行完美。 我尝试了很多方法来解决它,但没有结果。

起初,给我的错误与phusion有关,因此如果app.js中的if语句现在它在日志中没有错误,但在浏览器上显示:无法获取/

请帮我解决,下面的代码sn-ps:

app.js

const http = require('http');
const app = require('./app') 

if (typeof(PhusionPassenger) != 'undefined') {
    PhusionPassenger.configure({ autoInstall: false });
}
const port = process.env.PORT || 9100;

const server = http.createServer(app);

server.listen(port, ()=>console.log(`Server running on port ${port}`));

index.js

if (process.env.ENV !== "development") {
  require('dotenv').config();
}
// console.log(process.env)
const express = require('express');
const path = require('path');
const logger = require('morgan');
const cookieParser = require('cookie-parser');
const bodyParser = require('body-parser');
const helmet = require('helmet');

// Routes imports
const admin_users = require('./routes/admin/users');
const admin_locations = require('./routes/admin/locations');
// const admin_products = require('./routes/admin/products');
const admin_deliveries = require('./routes/admin/deliveries');
const admin_payments = require('./routes/admin/payments');
const admin_dashboard = require('./routes/admin/dashboard');
const admin_orders = require('./routes/admin/orders');
const users = require('./routes/users');
const products = require('./routes/products');
const deliveries = require('./routes/deliveries');
const payments = require('./routes/payments');
const tickets = require('./routes/tickets');
// const files = require('./routes/files');
const cards = require('./routes/cards');


let app = express();

app.set('trust proxy', true);
app.use(helmet());
// app.use(express.staticProvider(__dirname + '/public'));
// view engine setup


app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());

app.use(function(req, res, next) {
  res.header("Access-Control-Allow-Origin", "*");
  res.header("Access-Control-Allow-Credentials", "true"); 
  res.header("Access-Control-Allow-Methods", "GET, POST, PATCH, DELETE, PUT");
  res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, X-Access-User, X-Access-Token,Authorization");
  // next();
  if ('OPTIONS' === req.method) {
    //respond with 200
    return res.status(200).json({});
    // next();
  }
  else {
  //move on
    next();
  }
});

// Routes
app.get('/', (req,res,next)=>{
  res.send('server is up and running');
})
app.use('/admin/users', admin_users);
app.use('/admin/locations', admin_locations);
// app.use('/admin/products', admin_products);
app.use('/admin/deliveries', admin_deliveries);
app.use('/admin/payments', admin_payments);
app.use('/admin/orders', admin_orders);
app.use('/dashboard', admin_dashboard);
app.use('/users', users);
app.use('/products', products);
app.use('/deliveries', deliveries);
app.use('/payments', payments);
app.use('/tickets', tickets);
// app.use('/files', files);
app.use('/cards', cards);

app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');


require("./scheduler")

// catch 404 and forward to error handler
app.use(function(req, res, next) {
  let err = new Error('Not Found');
  err.status = 404;
  next(err);
});

// error handler
app.use(function(err, req, res, next) {
  // set locals, only providing error in development
  res.locals.message = err.message;
  res.locals.error = req.app.get('env') === 'development' ? err : {};

  // render the error page
  res.status(err.status || 500);
  res.render('error');
});

require('./server');

module.exports = app;

【问题讨论】:

  • 不应该是router.get('/users',然后是app.use(router),而不是app.use('/users'
  • 谢谢,我已经注意到了,但它仍然不起作用
  • My router does not seem to work on remote server but it works perfects on local server. 什么不完全有效? Node 控制台肯定出错了?
  • 我该如何解决?
  • 我实际上有一个错误日志文件。但是当谈到“无法获取/”时。没有显示错误。

标签: javascript node.js phusion


【解决方案1】:

你应该删除下面的这段代码

app.get('/', (req,res,next)=>{
  res.send('server is up and running');
})

替换成

app.get('/', (req,res,next)=>{
  res.send('server is up and running');
})

放在下面

app.set('视图引擎', 'ejs')

【讨论】:

    猜你喜欢
    • 2019-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多