我刚刚在新的开发服务器上安装了node和express ... 我通过运行以下命令创建了一个测试应用程序:
dev-server15:/var/www# express mytest
create : mytest
create : mytest/package.json
create : mytest/app.js
create : mytest/public
create : mytest/public/javascripts
create : mytest/public/images
create : mytest/public/stylesheets
create : mytest/public/stylesheets/style.css
create : mytest/routes
create : mytest/routes/index.js
create : mytest/routes/users.js
create : mytest/views
create : mytest/views/index.jade
create : mytest/views/layout.jade
create : mytest/views/error.jade
create : mytest/bin
create : mytest/bin/www
install dependencies:
$ cd mytest && npm install
run the app:
$ DEBUG=mytest:* npm start
dev-server15:/var/www# cd mytest/
dev-server15:/var/www/mytest# npm install
npm install命令完成,没有任何错误。 我通过执行以下操作启动应用程序:
dev-server15:/var/www/mytest# DEBUG=mytest:* npm start
> mytest@0.0.0 start /var/www/mytest
> node ./bin/www
mytest Listening on port 3000 +0ms
然后我尝试转到http://mydevserver15/test
导航到索引页面我可以在控制台中看到请求...但它返回404.
dev-server15:/var/www/mytest# DEBUG=mytest:* npm start
> mytest@0.0.0 start /var/www/mytest
> node ./bin/www
mytest Listening on port 3000 +0ms
GET /mytest 404 734.109 ms - 965
GET /stylesheets/style.css 200 12.556 ms - 111
我想开箱即用,默认路线有效。
我检查过的内容:
我知道我需要在app.js文件中引用我的路线。 所以我试图检查,我确实看到我有以下条目:
var routes = require('./routes/index');
var users = require('./routes/users');
然后,我看到了:
app.use('/', routes);
app.use('/users', users);
这是我在package.json中的内容,因此您可以看到版本号:
dev-server15:/var/www/mytest# cat package.json
{
"name": "mytest",
"version": "0.0.0",
"private": true,
"scripts": {
"start": "node ./bin/www"
},
"dependencies": {
"body-parser": "~1.15.1",
"cookie-parser": "~1.4.3",
"debug": "~2.2.0",
"express": "~4.13.4",
"jade": "~1.11.0",
"morgan": "~1.7.0",
"serve-favicon": "~2.3.0"
}
}
编辑1
这里是routes / index.js的内容:
dev-server15:/var/www/mytest# cat routes/index.js
var express = require('express');
var router = express.Router();
/* GET home page. */
router.get('/', function(req, res, next) {
res.render('index', { title: 'Express' });
});
编辑2:
我也尝试导航到用户路线。我在这里复制并粘贴了你的网址,以及控制台上的输出:
http://mydevserver15:3000/mytest/users
这将在控制台中创建以下输出:
GET /mytest/users 404 74.173 ms - 965
GET /stylesheets/style.css 304 2.851 ms - -
答案 0 :(得分:0)
您有一条路线:" / ",这意味着您应该导航到mydevserver15以查看根页面。如果您想要页面 / test ,则应更改:
router.get('/', function(req, res, next) {
res.render('index', { title: 'Express' });
});
到
router.get('/test', function(req, res, next) {
res.render('index', { title: 'Express' });
});
或将其注册为新路线。