开发中问题记录(实时记录)

react:

1. 使用history.goback()返回 页面没有重新调接口

解决方案:使用以下 API

window.location.href = document.referrer;

 2.解析字符串html

<div

dangerouslySetInnerHTML={{

__html: content,

}}

/>

3.使用useMemo缓存数据没更改

加 key

4. NaN的出现

0 / 0 等于 NaN

5. window.location.href没跳转过去

在html模板中加入以下代码

  <meta name="referrer" content="no-referrer" />

6.定时器清除失败

使用clearTimeout或者clearInterval,会把返回值赋值给 timer ,清除 timer失败

定时器的返回值是他的id,存储为动态变量

使用clearTimeout或者clearInterval 清除动态变量

7. for of 渲染对象

使用for of 遍历对象,提示类型错误不是可枚举

解决方法:

1. 修改为 for in

2. 对象转JSON字符串, 使用 字符串的 match方法 正则匹配

8. 定时递归 重新渲染组件

递归 使用setTimeout 定时切换 ,useState 没有更新组件未从新渲染

解决方法:

1. 使用useState定义

2. 绑定最外层的dom元素

 const [newKey,setNewKey] = useState(0)

<div className="switch_div" key={newKey}>  ... 内容  </div>

vue:

1. 递归menu菜单时icon渲染

使用 component 动态组件,is为icon名称,例如:House

 <el-icon> <component :is="House"></component> </el-icon>

nginx:

1.dist 放置并配置反向代理 匹配去掉统一前缀

和 nginex.exe 同级 

 在server 中  /proxy/ 代理地址后/

  location /proxy/ {

            proxy_pass   http://127.0.0.1:3007/;

 }

#user  nobody;

worker_processes  1;

#error_log  logs/error.log;

#error_log  logs/error.log  notice;

#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


 

events {

    worker_connections  1024;

}


 

http {

    include       mime.types;

    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '

    #                  '$status $body_bytes_sent "$http_referer" '

    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;

    #tcp_nopush     on;

    #keepalive_timeout  0;

    keepalive_timeout  65;

    #gzip  on;

    server {

        listen       80; # 前端启动端口

        server_name  127.0.0.1; # 前端启动地址

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {

            root   dist; # 根路径 dist包

            index  index.html index.htm; # 访问 index.html

        }

        # error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html

        #

        error_page   500 502 503 504  /50x.html;

        location = /50x.html {

            root   html;

        }

        # 接口代理

        location /proxy/ {

            proxy_pass   http://127.0.0.1:3007/;

        }

        location /img/ {

            proxy_pass   http://127.0.0.1:3007/;

        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80

        #

        #location ~ \.php$ {

        #    proxy_pass   http://127.0.0.1;

        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

        #

        #location ~ \.php$ {

        #    root           html;

        #    fastcgi_pass   127.0.0.1:9000;

        #    fastcgi_index  index.php;

        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;

        #    include        fastcgi_params;

        #}

        # deny access to .htaccess files, if Apache's document root

        # concurs with nginx's one

        #

        #location ~ /\.ht {

        #    deny  all;

        #}

    }


 

    # another virtual host using mix of IP-, name-, and port-based configuration

    #

    #server {

    #    listen       8000;

    #    listen       somename:8080;

    #    server_name  somename  alias  another.alias;

    #    location / {

    #        root   html;

    #        index  index.html index.htm;

    #    }

    #}


 

    # HTTPS server

    #

    #server {

    #    listen       443 ssl;

    #    server_name  localhost;

    #    ssl_certificate      cert.pem;

    #    ssl_certificate_key  cert.key;

    #    ssl_session_cache    shared:SSL:1m;

    #    ssl_session_timeout  5m;

    #    ssl_ciphers  HIGH:!aNULL:!MD5;

    #    ssl_prefer_server_ciphers  on;

    #    location / {

    #        root   html;

    #        index  index.html index.htm;

    #    }

    #}

}

2. 使用宝塔面板部署上线

前端 vue3 ,后端 node ,数据库 mysql ,服务器 腾讯云

 1. 腾讯云服务器使用的是 centos7

相关端口开放

 2. 宝塔面板使用的是 Linux 面板 

上传node 项目(server) dist包在其中  注意node 要内置nodemon 启动 并配置 启动命令 start 

在 安全中开放端口

数据库上传 : 修改root 密码  、导入sql文件 

网站 : 选择node项目 ,并配置域名管理和 外网映射

3. 外网访问服务

使用的是腾讯云服务器,腾讯与服务器 需要把服务ip 修改为0.0.0.0 才可以对外访问

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值