记nvm安装过程
分类: 前端
简介:因为需要申请专利,我打开了公司2年前的项目,运行发现报错Error: error:0308010C:digital envelope routines::unsupported,百度之后发现是因为nodejs17以上加了个OpenSSL3.0, 而OpenSSL3.0对允许算法和密钥大小增加了严格的限制,可能会对生态系统造成一些影响.在node.js V17以前一些可以正常运行的的应用程序,但是在 V17 版本可能会抛出这个异常。解决方案:1、降级,2、配置参数第二套方案在我之前写的文章中有配置这个方案治标不治本,所以我这次选择了降级。但是单纯降级会导致其他问题,比如node包装不了,有些项目运行不起来。所以我决定采用nvm管理器,管理nodejs版本。安装流程:一、卸载自己用的nodejs(卸载前最好记住版本号)打开控制面板 > 打开程序和功能 > 右上角搜索输入node > 右键卸载为了确保彻底删除node在看看你的node安装目录中还有没有node文件夹,有的话一起删除。再看看C:\Users\用户名 文件夹下有没有.npmrc以及.yarnrc等等统统删除。再去看看你的环境变量有没有node相关的,有的话也一起删除了。二、安装nvm三、配置淘宝源找到nvm安装路径 > 找到 settings.txt 文件 > 配置下载源 root:C:\Users\admin\AppData\Roaming\nvm(nvm的安装位置)
path:C:\Program Files\nodejs(nodejs安装位置)
arch: 64(系统位数)
proxy: none
node_mirror: https://npmmirror.com/mirrors/node/
npm_mirror: https://npmmirror.com/mirrors/npm/四、接下来就是我遇到的问题前面安装一路都没问题,我就继续安装不同版本的nodejs了,结果安装后nvm list能显示不同版本号,但是nvm use无法切换版本。在百度搜索过后发现是nodejs的位置问题,所以接下来要换一种安装方式:1.打开nvm的安装路径, 我的是:C:\Users\admin\AppData\Roaming\nvm,在这路径下新建一个空的文件夹,名称 nodejs,文件夹下面不要放任何东西,保持为空即可。2.打开环境变量,修改用户环境变量和系统环境变量,修改两个NVM_SYMLINK的值为:C:\Users\admin\AppData\Roaming\nvm\nodejs,确定 确定 确定。3.关闭之前打开的所有cmd(包括vscode),并重新打开cmd: nvm uninstall v10.21.0 卸载掉之前安装的node,重新安装nvm intall 22.1.0 64 bit (安装的时候最后后面带上多少位版本)4.根据自己需要切换版本,至此我切换成功,也成功运行了旧代码额外知识:nvm的操作命令命令说明nvm list查看已经安装的版本nvm list installed查看已经安装的版本nvm list available查看网络可以安装的版本nvm arch查看当前系统的位数和当前nodejs的位数nvm install [arch]安装制定版本的node 并且可以指定平台 version 版本号 arch 平台nvm on打开nodejs版本控制nvm off关闭nodejs版本控制nvm proxy [url]查看和设置代理nvm node_mirror [url]设置或者查看setting.txt中的node_mirror,如果不设置的默认是 https://nodejs.org/dist/nvm npm_mirror [url]设置或者查看setting.txt中的npm_mirror,如果不设置的话默认的是:https://github.com/npm/npm/archive/.nvm uninstall卸载指定的版本nvm use [version] [arch]切换指定的node版本和位数nvm root [path]设置和查看root路径nvm version查看当前的版本
elementui时间选择器按照北京时间传入后端
分类: 前端
简介: //使用时间戳形式传入后端value format="timestamp" <el date picker v model="form.startTime" type="datetime" value format="timestamp" placeholder="选择日期时间" :disabled="timeupdate" :default value="new Date()" > </el date picker>
vue实现时间戳转化为”刚刚“,”几分钟前“,”几小时前“,”几周前“,”几月前“,”几年前“
分类: 前端
简介: timeAgo(dateTimeStamp) { let result = ""; let minute = 1000 * 60; //把分,时,天,周,半个月,一个月用毫秒表示 let hour = minute * 60; let day = hour * 24; let week = day * 7; let halfamonth = day * 15; let month = day * 30; let year = month * 12; let now = new Date().getTime(); //获取当前时间毫秒 console.log('now:'+now) let diffValue = now dateTimeStamp;//时间差 if (diffValue < 0) { return result; } let yearC = diffValue / year; let minC = diffValue / minute; //计算时间差的分,时,天,周,月 let hourC = diffValue / hour; let dayC = diffValue / day; let weekC = diffValue / week; let monthC = diffValue / month; if (yearC >= 1) { result = "" + parseInt(yearC) + "年前"; } else if (monthC >= 1) { result = "" + parseInt(monthC) + "月前"; } else if (weekC >= 1) { result = "" + parseInt(weekC) + "周前"; } else if (dayC >= 1) { result = "" + parseInt(dayC) + "天前"; } else if (hourC >= 1) { result = "" + parseInt(hourC) + "小时前"; } else if (minC >= 1) { result = "" + parseInt(minC) + "分钟前"; } else result = "刚刚"; return result; },
错误记录(2)Error: error:0308010C:digital envelope routines::unsupported
分类: 前端
简介:报错原因:出现这个错误是因为 node.js版本问题解决方案:1、降级2、设置参数找到项目的package.json文件,把自己对应的命令,加上&&,写到启动项目的配置里面(构建写不写都可以),即可ps:win系统 "scripts": { "serve": "set NODE_OPTIONS= openssl legacy provider && vue cli service serve", "build": "set NODE_OPTIONS= openssl legacy provider && vue cli service build"
},
vue+elementui实现textarea换行存入数据,并返回前端修改
分类: 前端
简介:textarea标签回车符是/n,在html里识别回车是<br/>,在存入数据库之前要进行转换成<br/>,在取出展示在html页面时才能显示换行。 <textarea v model="content"></textarea>
//提交的时候转换
content:this.content.replace(new RegExp("\n", "gm"), "<br>")
//这样在页面中可以使用v html展示
//如果需要修改内容,就需要在传入修改页的时候将值再换回来
this.content = options.content.replace(/<br>/g,"\n")