Node.js的路由跳转的一点理解

这几天学了下Node.js,凭借自己查资料和看教程(cnds),发现没有找到有关node.js路由跳转的一些东西,所以打算自己写一点儿对node.js的理解 ,也不知道是对是错 ,希望对大家有帮助


这个是项目目录


index.html代码

<html>
<body>
这里是静态页面
<form action="http://127.0.0.1:8081/process_get" method="POST">
First Name: <input type="text" name="first_name">  <br>

Last Name: <input type="text" name="last_name">
<input type="submit" value="Submit">
</form>
</body>
</html>
   upload.html代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

    这里是html页面
</head>
<body>

</body>
</html>
  


upload.ejs. 和  upload.jade 

<html>
<body>
这里是ejs
<form action="http://127.0.0.1:8081/process_get" method="POST">
    First Name: <input type="text" name="first_name">  <br>

    Last Name: <input type="text" name="last_name">
    <input type="submit" value="Submit">
</form>
</body>
</html>

<html>
<body>
这里是jade
<form action="http://127.0.0.1:8081/process_get" method="POST">
First Name: <input type="text" name="first_name">  <br>

Last Name: <input type="text" name="last_name">
<input type="submit" value="Submit">
</form>
</body>
</html>


下面来看代码吧  这个是用npm自己生成的一个项目  我就是在上面来实现吧   具体怎么建立项目 请自己查,毕竟学习不能偷懒



// 加载路由控制
var routes = require('./routes/index');
var users = require('./routes/users');

//创建项目实例
var app = express();
// view engine setup定义EJS模板引擎和模板文件位置,也可以使用jade或其他模型引擎
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');
//app.set('view engine', 'jade');
//app.set('view engine','html');

// uncomment after placing your favicon in /public
//app.use(favicon(path.join(__dirname, 'public', 'favicon.ico')));
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
// 匹配路径和路由
//访问服务器的静态资源
app.use('/static',express.static(path.join(__dirname, 'static')));
app.use('/', routes);
app.use('/', users);
上面的  有中文的是我自己弄上去的   注释都很清楚

接下来就是路由了 

我在项目目录下  创建了一个  static文件夹  主要是为了放一些静态资源 ,比如  用到的  html/index.html

router.get('/upload.jade', function(req, res, next) {
  //
  res.render('upload.jade');
  res.end();
});

router.get('/upload.ejs', function(req, res, next) {
  //
  res.render('upload.ejs');
  res.end();
});
//若没有后缀则按视图解析器的后缀
router.get('/upload.html', function(req, res, next) {
  //
  res.render('upload');
  res.end();
});
//跳转到静态页面
router.get('/static', function(req, res, next) {
  //
  res.redirect('/static/html/index.html');
  res.end();


先来看效果    地址栏   http://127.0.0.1:3000/static  刷新 



访问   :http://127.0.0.1:3000/upload.ejs

http://127.0.0.1:3000/upload.jade

这个jade可能会 报错 没有这个模型*(包)   用控制台  进入项目目录    npm install jade      (  下次碰到这种首先就是 安装包  )

我们用的是ejs视图渲染     (不知道是不是这样形容)


要是不加后缀  会访问哪一个呢    像访问:http://127.0.0.1:3000/upload

  这就取决于  

app.set('view engine', 'ejs');
//app.set('view engine', 'jade');
这段代码    意思就是  你用的那个引擎   在views目录下如果么有指定 后缀 就默认 渲染引擎 

如上代码  访问结果是




还有就是访问静态资源  ;要加

app.use('/static',express.static(path.join(__dirname, 'static')));
app.use('/', routes);
app.use('/', users);
并注意 要加载  使用路由代码前 如上面这个代码这样 

若么有  要访问 

http://127.0.0.1:3000/static/html/index.html


是这样的

正确的是 



最后 我也是初学者  就是因为在网上没有找到很好的资料  才走了 很多弯路  希望 这个对要学习的人有帮助   若没有用  对浪费你们宝贵的时间抱歉   

   而且我也不知道  是不是这个样子的 如果有错误 请大家 指点 迷津 







  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值