router.get('/')在expressjs不工作
我无法通过'/'路由模式访问我的快速应用程序的主页。 它正在处理/索引例如我的快递版本是4.6。
我试过app.use('/ *',路由器),但我的应用程序没有响应或503服务暂时不可用。 现在它正在通过“/ index”模式工作,其他path正常工作。 只有'/'模式不起作用。 🙂
这是我的代码片段。
var http = require('http'); var express = require('express'); var app = express(); var router = express.Router(); app.use('/', router); app.set('view engine', 'ejs'); app.set('views', './views'); app.use(express.static('./public')); var bodyParser = require("body-parser"); app.use(bodyParser()); var fs = require('fs'); var clientSessions = require("client-sessions"); var form = require('express-form'); var field = form.field; var sha1 = require('sha1'); var mysql = require('mysql'); var connection = mysql.createConnection({ host: process.env.OPENSHIFT_MYSQL_DB_HOST, port: process.env.OPENSHIFT_MYSQL_DB_PORT, user: process.env.OPENSHIFT_MYSQL_DB_USERNAME, password: process.env.OPENSHIFT_MYSQL_DB_PASSWORD, database: process.env.OPENSHIFT_GEAR_NAME }); var multer = require('multer'); var done = false; app.use(clientSessions({ secret: 'xxxxx' })); app.use(function(req, res) { res.status(400); res.render('pages/404'); }); // Handle 500 app.use(function(error, req, res, next) { res.status(500); res.render('pages/500'); }); //--- app.use(multer({ dest: 'public/uploads/', rename: function(fieldname, filename) { return filename + Date.now(); }, onFileUploadStart: function(file) { console.log(file.originalname + ' is starting ...') }, onFileUploadComplete: function(file) { console.log(file.fieldname + ' uploaded to ' + file.path) done = true; } })); //// --------------- start app routes --------------// // ----- GET ----- router.get('/', function() { // THIS PATTERN IS NOT WORKING console.log('hello world'); // this line is not working connection.query(strQuery, function(err, rows) { // res.render('pages/index'); }); });
你在第二行忘了'*'
app.use('/*', router);
因为你没有处理“/”,这里是更新的代码
var router = express.Router(); app.use('/*', router); router.get('/', function(req, res) { res.send('welcome home'); } router.get('/index', function(req, res) { res.send('welcome index'); }
你忘了redirect吗?
router.get("/", function (req, res) { res.redirect("/index"); });
- 为每个用户使用mongodb和mongoose分开数据库
- Node.js mysql查询语法来检索
- 带有Azure错误请求的Node.js Express
- Node Express – Http post来返回文件
- 我应该如何devise一个WordPress后端+ react + java前端应用程序?
- 优化Node.js入站/出站连接
- 刷新浏览器后,包含“hypen”的URL不会经过angular度$ routeProvider.when(),而直接请求服务器
- ValidationError:用户validation在MongooseError.ValidationError失败
- socket.io授权引发“握手错误”