React反向代理与CSS模块化的使用案例

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

React反向代理与CSS模块化的使用案例

碰磕   2023-03-20 我要评论

反向代理

官网:[Proxying API Requests in Development | Create React App 中文文档 (bootcss.com)

安装使用

npm i http-proxy-middleware //安装

编写setupProxy.js

/**
 * 设置代理
 */
 const { createProxyMiddleware } = require('http-proxy-middleware');
 module.exports = function(app) {
   app.use(
     '/ajax',//以ajax开头
     createProxyMiddleware({
       target: 'https://i.maoyan.com',
       changeOrigin: true,
     })
   );
 };

测试案例

/**
 * 反向代理
 */
import React, { Component } from 'react';
import axios from 'axios';
export default class DaiLi extends Component{
  componentDidMount(){
      axios.get("/ajax/mostExpected?limit=10&offset=0&token=&optimus_uuid=46E0ACB0E7E111ECB8920FC22EFCA8A202A7733C10C4484FB57F69AF4A705A69&optimus_risk_level=71&optimus_code=10").then(res=>{
          console.log(res)
      })
  }
    render() {
    return (
      <div>
        反向代理
      </div>
    );
  };
};

这样就实现反向代理了,没有跨域问题~

CSS模块化

在不同组件中引入css但他们的css都是公用的,

所以为了解决这个问题,改成模块化

  • 1.将文件名改为文件名.module.css
  • 2.将module.css引入
  • 3.通过引入名.样式名实现样式的模块化

这样他就能保证样式名不重复

案例

css文件Films.module.css

.active{
    color: blueviolet;
}
import React from 'react';
import style from './css/Films.module.css'
function Films(){
    console.log(style);
    return (
        <div>
            Films
            <b className={style.active}>去404页(编程式导航)</b>
        </div>
    );
}
export default Films

这样就能实现样式自由!!!

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们