Nodejs / express - fresh install在尝试导航到路由时失败
nodejs / express - fresh install fails when attempting to navigate to routes
我刚刚在一个新的开发服务器上安装了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);
这是我包里的东西。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:
我还尝试导航到用户路由。我在这里为您复制并粘贴了url,以及控制台上的输出:
http://mydevserver15:3000/mytest/users
这会在控制台中创建以下输出:
GET /mytest/users 404 74.173 ms - 965
GET /stylesheets/style.css 304 2.851 ms - -
您有一条路由:"/",这意味着您应该导航到mydevserver15查看根页面。如果您想要page /test,您应该更改:
router.get('/', function(req, res, next) {
res.render('index', { title: 'Express' });
});
router.get('/test', function(req, res, next) {
res.render('index', { title: 'Express' });
});
相关文章:
- 如果找不到路由,则以程序方式导航到服务器页面
- React路由器:防止导航到目标路由
- 主干路由器导航到../#/<路由>而不触发路由器事件.如何
- 反应.js - 导航路由时控制台中的错误
- 父路由器激活功能在每次导航到其子路由时运行
- AngularJS$locationChangeStart事件取消路由导航
- 单击链接时,我如何定义导航到详细信息页面的路由
- 使用backbone.js路由区分前后导航
- 使用AngularJS的ASP.NET 5路由导航
- React-Router使用jQuery导航路由
- Angular.js的路由和部分用于复杂的导航
- Nodejs / express - fresh install在尝试导航到路由时失败
- 在控制器中测试Ember.js的路由导航
- 如何用ngRoute创建导航路由
- 为什么AngularJS的服务在从一个路由导航到另一个路由时没有定义?
- 从Javascript正确导航到React路由
- 如何使用React + React- router - component手动导航到路由
- 在Ember.js中重新导航到当前路由
- 用AngularJS关联路由和导航样式
- AngularJs:基于路由隐藏导航栏元素