WTM框架运行报错0308010C:digital envelope routines::unsupported
- 错误描述
- 报错原因
- 解决方式
错误描述
我所使用WTM搭建的程序是选择的.net5.0+Vue前后端分离的方式,项目结构选择的是“各层分离的多个项目”;本人并非初次使用WTM平台框架搭建项目,在初次使用的时候应该是我的电脑环境在此之前安装的Node.js的版本与WTM框架的生成版本是兼容的,所以顺利运行;
但是当我重新安装了系统并且安装了最新的Node.js版本v18.16 之后,再次使用WTM平台生成程序并直接运行时就报错了(0308010C:digital envelope routines::unsupported WTMMES C:\Users\123\Downloads\WTMMES2\WTMMES\Error 1)。
如下图
报错原因
在经过了一夜的努力终于找到了问题的原因,框架所生成的vue代码是在:项目名称/ClientApp文件夹下,如下图
我们可以直接在此文件夹下运行命令台控制程序,输入命令npm start ,
这个时候我们能看详细的错误内容,网上可以搜索到相似的vue程序错误的解决方案,一种方式是降低Node.js的版本,降回到16.x应该就可以,操作步骤也挺麻烦的,但我想大多数人都是不愿意通过降版本的方式来解决问题;另外一种方式是设置一个参数,set NODE_OPTIONS=–openssl-legacy-provider ,我就是通过此种方式来解决了问题;在npm start前先运行此脚本,再npm start是可以正常运行的,但是我们wtm程序是在visual studio直接运行的,所以我们修改肯定是通过修改配置参数的方式;
1.方式一解决方式参考链接:https://blog.csdn.net/zjjxxh/article/details/127173968
2.方法二解决方式参考链接:https://blog.csdn.net/qq_52855464/article/details/128091796
解决方式
找到项目/ClientApp/package.json 文件打开,修改配置如下图:
修改start就可以直接运行,为了能够在命令台也可以build,所以build也一同修改掉