前端日常问题解决记录

178 阅读1分钟

 一、用户依赖的包版本与各个子项目依赖的包版本相互不兼容,导致安装过程的中断

 解决:安装命令后添加--legacy-peer-deps命令

释义:npm install xxxx --legacy-peer-deps命令与其说是告诉npm要去干什么,不如说是告诉npm不要去干什么。使用该命令用于绕过peerDependency里依赖的自动安装;它告诉npm忽略项目中引入的各个依赖模块之间依赖相同但版本不同的问题,以npm v3-v6的方式去继续执行安装操作,所以其实该命令并没有真的解决冲突,而是忽略了冲突,以“过时”(v3-v6)的方式进行下载操作。

二、升级nodejs版本后启动项目报digital envelope routines::unsupported

 解决:修改package.json,在相关构建命令之前加入set NODE_OPTIONS=--openssl-legacy-provider

 释义:因为 node.js 高版本中最近发布的OpenSSL3.0, 而OpenSSL3.0对允许算法和密钥大小增加了严格的限制,可能会对生态系统造成一些影响。故此以前的项目在升级 nodejs 版本后会报错。

 示例:

 "scripts": {

    "serve": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve",

    "build": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build"

 }

 三、 elementUI的el-date-picker报[Vue warn]: Avoid mutating a prop ...Prop being mutated: “placement“的问题

微信图片_20221125104424.jpg

 解决1:最简单的解决方式(推荐)添加placement="bottom-start"

 <el-date-picker v-model="dateData" placement="bottom-start" ></el-date-picker>

 解决2:升级新的elementUI版本到2.15.8

 先卸载之前的版本,再安装新的版本

 npm uninstall element-ui

 npm install element-ui@2.15.8 -s