关于npm镜像迁移导致的服务异常

举报
赵KK日常技术记录 发表于 2023/06/30 15:59:49 2023/06/30
【摘要】 一、背景介绍1.1 npm镜像及其作用1.2 npm镜像迁移的原因与背景二、npm镜像迁移导致的服务异常2.1 迁移过程中的镜像失效2.2 镜像同步延迟和不一致2.3 镜像迁移给服务器带来的负荷2.4 镜像迁移对开发者的影响三、解决方案3.1 使用多个镜像源3.2 利用cnpm加速下载速度3.3 缓存镜像依赖包3.4 合理配置npm客户端参数四、服务异常的应对策略4.1 监控与预警机制的建立...

一、背景介绍
1.1 npm镜像及其作用
1.2 npm镜像迁移的原因与背景

二、npm镜像迁移导致的服务异常
2.1 迁移过程中的镜像失效
2.2 镜像同步延迟和不一致
2.3 镜像迁移给服务器带来的负荷
2.4 镜像迁移对开发者的影响

三、解决方案
3.1 使用多个镜像源
3.2 利用cnpm加速下载速度
3.3 缓存镜像依赖包
3.4 合理配置npm客户端参数

四、服务异常的应对策略
4.1 监控与预警机制的建立
4.2 及时跟进官方通知
4.3 多版本备份与快速切换

五、实际案例分析与优化
5.1 特定地理区域的网络问题
5.2 镜像迁移时的依赖冲突
5.3 遇到的兼容性问题及解决方案

六、本地代理与加速工具推荐
6.1 Nexus等本地镜像代理工具
6.2 yarn等替代npm的工具
6.3 云npm镜像加速服务使用介绍

1、本地启动vue项,进行构建项目时,报错如下

npm ERR! code E400
npm ERR! 400 Bad Request - GET https://registry.npm.taobao.org/n
npm ERR! A complete log of this run can be found in:
更换npm镜像后仍然失效,本地网络问题排除

2、更换cnpm镜像

在vue的package.json同级目录下新建文件为.npmrc

vi ~/.npmrc

registry=https://registry.npmmirror.com
3、重新执行cnpm install,接下来的所有命令将以cnpm执行

4、由于本地开启边车,默认strict-ssl关闭,另外也怀疑是边车的代理导致

5、启动成功

6、重新部署至服务器

执行 cnpm run build

得到dist文件,将其放入自带tomcat/webapps下,注意前后端统一端口

7、后端新增解析用户真实IP功能

根据http请求解析用户真实ip记录

public static String getIp(HttpServletRequest request) {

    try {
        String ip = request.getHeader("x-forwarded-for");
        if (ip == null || ip.length() == 0
                || "unknown".equalsIgnoreCase(ip)) {
            ip = request.getHeader("Proxy-Client-IP");
        }
        if (ip == null || ip.length() == 0
                || "unknown".equalsIgnoreCase(ip)) {
            ip = request.getHeader("WL-Proxy-Client-IP");
        }
        if (ip == null || ip.length() == 0
                || "unknown".equalsIgnoreCase(ip)) {
            ip = request.getRemoteAddr();
            if (ip.equals("127.0.0.1") || ip.equals("0:0:0:0:0:0:0:1")) {
      // 根据网卡取本机配置的IP
                InetAddress inet = InetAddress.getLocalHost();
                ip = inet.getHostAddress();


                if (ip != null && ip.length() > 15) { // "***.***.***.***".length()
                    if (ip.indexOf(",") > 0) {
                        ip = ip.substring(0, ip.indexOf(","));
                    }
                }
            }
        }
        if (ip != null && ip.length() > 15) { // "***.***.***.***".length()
            if (ip.indexOf(",") > 0) {
                ip = ip.substring(0, ip.indexOf(","));
            }
        }
        return ip;
    } catch (Exception e) {
       return "127.0.0.1";
    }
}

8、日后集成百度地图api。因项目安全原因引入apollo动态配置

9、为博客地址更换为最新聊天室内容

七、总结与展望

本文通过对npm镜像迁移导致的服务异常进行细致分析,并针对常见问题给出了一系列解决方案和应对策略。开发者在面对类似问题时,可以根据实际情况选择合适的解决方案,提高开发效率和项目稳定性。随着互联网技术的不断发展,相信npm镜像迁移提升服务质量的问题会逐步得到解决,对于互联网开发行业的发展将起到积极的促进作用。

本文仅作为专业领域的讨论文章,旨在帮助开发者更好地理解和解决npm镜像迁移导致的服务异常问题。同时,未来可能会涌现更多的解决方案和工具,为开发者提供更好的npm使用体验。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。