express紧急回顾随笔

本文介绍如何使用Express框架仅用四行代码快速搭建一个简单的服务器,并解析了如何配置静态资源路径、设置路由处理请求,以及如何利用Webpack实现热加载。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

四行代码搭建服务器

      var express = require('express');
      var app = express();
      //设定静态路径 所有请求优先在此路径查找
      //不要把服务器配置JS文件和静态页面放在同一个文件夹!!!!
      app.use(express.static(path.join(__dirname, 'static')));
      app.listen(9000);

 

常用插件

      //需要npm install
      //可以在服务器打印请求信息 超级好用
      var morgan = require('morgan');
      //就这样调用
      app.use(morgan('short'));

 

路由(妈个鸡,被坑了一上午)

  首先是主服务器配置的内容,需要引进对应的专业路由js文件。

      //引入对应的JS文件 可以省略js后缀 因为js会被优先查找
      var apiRouter = require("./router/api_router");
      //注意!!!第一个参数代表对应路径请求转接
      app.use("/index", apiRouter);

  然后是路由js文件对应的内容。

      //话不多说 先引这两
      var express = require("express");
      var path = require('path');
      //实例化一个路由对象
      var api = express.Router();
      //这个路由处理来自index的post请求
      api.post('/', function(req, res) {
            console.log(req.body);
            res.sendFile(path.join(__dirname, '../static/index.html'));
      });

  举个例子!

api.post('/', function(req, res) {
    //获取post请求传入的账号密码
    var user = req.body.username,
        password = req.body.password;
    //进行判断 老子还不会数据库啊
    if (user === 'admin' && password === 'admin') {
        //通过 给你index页面
        res.sendFile(path.join(__dirname, '../static/index.html'));
    } else {
        //失败 回去你的login吧
        res.redirect('./login.html');
    }
});

   又找到一个坑!

//为了解析post 这个需要在主配置中引用
app.use(bodyParser.urlencoded({ extended: false }));

//默认根路径会指向index.html
//需要在前面使用get劫持请求然后重定向
app.get('/', function(req, res) {
    console.log(12);
    res.redirect('./login.html');
});

//设定静态路径 所有请求优先在此路径查找
//不要把服务器配置JS文件和静态页面放在同一个文件夹!!!!
app.use(express.static(path.join(__dirname, 'static')));

  大功告成,假设静态目录下有login.html和index.html,login中有一个表单,输入账号密码然后post请求index页面,服务器这边就可以在路由里面搞事情处理这个跳转了。更多内容,等我再出bug。

  发现一个中间件,可以将webpack与node的热加载配合在一起,同时完成打包与页面热加载,吊的1B。

  话不多说,直接上代码。

//直接引用这个中间件
var webpackDevMiddleware = require("webpack-dev-middleware");
//获取webpack
var webpack = require("webpack");
//配置文件
var compiler = webpack({
    //入口文件为刚才的main.js
    entry: './static/js/main.js',
    //随便找个地方输出 
    output: {
        path: path.resolve(__dirname, './static'),
        publicPath: '/static/',

    },
    module: {
        rules: [
            //处理vue单文件
            {
                test: /\.vue$/,
                loader: 'vue-loader'
            },
            //处理import等语法
            {
                test: /\.js$/,
                loader: 'babel-loader',
                exclude: /node_modules/
            },
        ]
    },
});
//链接webpack与express
app.use(webpackDevMiddleware(compiler, {
    // options
}));

  这时候,修改vue文件,保存之后,会直接自动打包,刷新后可以直接渲染更新到到页面上!

转载于:https://www.cnblogs.com/QH-Jimmy/p/6508945.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值