前言
今天在IDEA中导入了一个外部java+node.js+springboot的项目,记录下期间遇到的问题及解决办法。
一、下载和安装
详看下方参考链接1,注意在链接1中“⑦ 测试,配置完成后,安装最经常使用的express模块”之前看参考链接2的“四、测试”,其中有注意事项、容易遇到的问题和解决办法。
附上win64位系统node-v20.11.1-x64.msi百度网盘链接。
链接:https://pan.baidu.com/s/1MMDudiHyc1hlfzTVMKz0vQ?pwd=9ysm 提取码:9ysm
参考链接1:node.js安装及环境配置超详细教程【Windows系统安装包方式】 - 知乎 (zhihu.com)
参考链接2:Node.js下载安装及环境配置教程【超详细】_nodejs下载-CSDN博客
二、使用
问题1及解决办法:
在cmd或者.bat文件中执行npm install、npm run dev等npm相关命令报错。
“问题原因: 报错中已经说了 在xxxl路径下找不到 package.json文件,所以罪魁祸首就是执行npm命令的目录不对。
解决办法: 找到 package.json正确的目录,然后再在终端执行npm命令即可。”
详见参考链接3。
其中,在cmd中进入指定目录如果盘符不同,需要先用盘符+“:”进入指定盘,再用cd +目录进入指定文件夹。详见参考链接4。
参考链接4:如何用Windows命令提示符(cmd.exe)进入指定目录_命令提示符进入指定目录-CSDN博客
问题2及解决办法:
下载最新nodejs版本后,在IDEA中运行vue文件,即vue-cli-service serve报错。
Win系统解决办法:
"三、解决 1.推荐:修改package.json,在相关构建命令之前加入SET NODE_OPTIONS=--openssl-legacy-provider"
"scripts": {
"serve": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve",
"build": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build"
},”。
即将package.json中的"scripts"中属性“:”后添加"SET NODE_OPTIONS=--openssl-legacy-provider &&"即可。详见参考链接5。
参考链接5:nodejs新版本引起的:digital envelope routines::unsupported-CSDN博客
Mac&&Linux系统解决办法:
“3.3 修改配置文件,解决报错(推荐)
根据你的系统类型,选择一个上面的命令,如,我是Mac系统,我就用:
export NODE_OPTIONS=--openssl-legacy-provider
然后,找到项目的package.json文件,把自己对应的命令,加上&&,写到启动项目的配置里面(构建写不写都可以),即可。”详见参考链接6。
参考链接6:终极解决:Error: error:0308010C:digital envelope routines::unsupported-CSDN博客
补充:问题3及解决办法:
又导入了另一个外部项目,补充下在IDEA中运行vue-cli-service serve遇到的问题。
运行npm(dev)
SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve
报错:'vue-cli-service' 不是内部或外部命令,也不是可运行的程序或批处理文件。
我的报错原因是没有进行“步骤二 : 执行npm install
命令”。导入的新项目package.json中只有npm run dev而没有npm install语句。npm install命令可以利用目录中的package.json自动下载安装资源并在当前目录中生成node_modules文件夹。在cmd中进入当前目录运行npm install成功后,IDEA中npm(dev)成功运行。详见参考链接7。
参考链接7:vue-cli-service不是内部或外部命令,也不是可运行的程序-CSDN博客
三、今天遇到的非Node.js问题:HibernateException
异常:“Exception in thread main org.hibernate.HibernateException: Access to DialectResolutionInfo cannot。这是说hibernate 加载 jdbc驱动出错”,即加载jdbc出错。我的原因是配置文件中数据库名和密码没有改成自己的。改对后就好了。并不是参考链接中的原因,不过的确提供了一定的参考价值,附上参考链接8。