【从0配置JAVA项目相关环境2】node.js + 前端 从配置到运行

运行前端项目

写在最前面

实验室电脑,需要跑一个前后端分离的JAVA项目,于是开始重新配置

全部(数据库+后端+前端)配置环境+修改代码 耗时6h,包括遇到各种坑,但总体而言弯路走的不多

如果跟着这篇博客走,理论上会避开我遇到的那些坑hh


对于前端开发者来说,我们也没有遗漏。文章将详细介绍如何安装Node.js并运行前端项目,包括如何处理常见的错误和配置问题。通过本文,你不仅能够搭建起一个完整的Java项目开发环境,还能获得处理潜在问题的实用技巧。

让我们开始吧!

一、安装node.js

Node.js下载地址:https://nodejs.org/en

下载20.10.0版本即可,下载后一路默认安装

安装完成后在命令行输入node -v,显示版本则安装成功

二、运行前端项目

要运行前端代码并配置依赖,可以按照 README 文件中提供的说明操作。这些说明通常是为了设置项目、安装依赖、运行开发服务器以及构建生产版本。

这里是一个基本的步骤指南:

  1. 确保您的计算机已安装 Node.js 和 npm。

  2. 项目设置(Project setup) : 这是安装项目所需依赖的第一步。您需要在命令行中运行 npm install。这会根据 package.json 文件中列出的依赖项安装所有必需的依赖。

  3. 编译并热重载以便开发(Compiles and hot-reloads for development) : 这一步是为了运行开发服务器。通过命令 npm run serve,项目会启动一个本地服务器,并且通常会在代码更改时自动重新加载页面。

  4. 编译并压缩以便生产(Compiles and minifies for production) : 当您准备将应用部署到生产环境时,使用 npm run build 命令。这将创建一个压缩和优化的版本,通常放在项目的 dist/ 或 build/ 目录中。

在开始之前,请确保您位于包含前端代码的文件夹中。这意味着您应该在包含 package.json 文件的目录中打开命令行工具。

以下是具体的步骤:

1. 运行 npm install

运行 npm install ,以安装所有依赖。

2. 运行 npm run serve

为了开发,运行 npm run serve。这通常会在本地主机上的一个端口启动一个开发服务器(例如 http://localhost:8080)。

报错Error: error:0308010C:digital envelope routines::unsupported

您遇到的错误信息是由于Node.js的一个版本兼容性问题。错误Error: error:0308010C:digital envelope routines::unsupported通常与Node.js的加密库和OpenSSL的版本有关。这个问题在Node.js 17及更高版本中比较常见,尤其是当它们与旧的或不兼容的依赖项一起使用时。

方法1:设置 NODE_OPTIONS (没用)

解决此问题的一个方法是通过设置环境变量来启用这些旧的加密算法。您可以在运行项目之前设置 NODE_OPTIONS 环境变量,以便允许使用这些算法。

在 Windows PowerShell 中,您可以通过以下命令来设置此环境变量:

powershell 复制代码
$env:NODE_OPTIONS = "openssl-legacy-provider"
set NODE_OPTIONS=--openssl-legacy-provider


然后再次尝试运行您的项目:

powershell 复制代码
npm run serve

这个方法的好处是它不需要更改代码或项目配置。

方法2:更改Node.js版本

如果上述方法不起作用或您不想使用旧的加密算法,您可以考虑降级Node.js到一个更低的版本,比如16.x。较低版本的Node.js不会遇到这个特定的兼容性问题。使用NVM(Node版本管理器)可以轻松切换Node.js的版本。

方法3:更新依赖项(用的这个,成功解决)

有时,项目依赖项的旧版本可能不兼容最新版本的Node.js。检查并更新您的项目依赖项可能有助于解决这个问题。可以通过运行npm update来更新依赖项。

方法4:检查webpack配置

由于错误中提到了webpack,可能需要检查并确保您的webpack配置与您使用的Node.js版本兼容。确保您使用的webpack和相关加载器/插件都是最新的。

3. 运行 npm run build

当准备好将项目部署到生产环境时,运行 npm run build。

4. 前端访问

#账号

admin

#密码

666666

成功运行!


如果有任何问题,欢迎提问和交流!

相关推荐
她的男孩5 小时前
分片上传的大文件人人可下载:文件模块 isPrivate 在合并时被抹成 false,另有 4 个静默坑
java·后端·架构
lie..5 小时前
30天从零开始学AI应用开发(Day 19):项目二完结:RAG 知识库问答系统,把自己攒的资料变成私人顾问
开发语言·人工智能·python
SWAGGY..6 小时前
【C++进阶】:(7)红黑树的原理与 C++ 实现:结构设计、插入调整及性质验证
android·java·开发语言·c++·算法
颜进强6 小时前
18 · NestJS动态模块与 forRoot:`imports: [ConfigModule.forRoot({...})]` 到底在 import 什么
前端·后端·ai编程
fitpolo6 小时前
AI编程入门
ai编程
lugiax6 小时前
跨平台移植:把一个Mac终端搬上 Windows 学到的七件事
程序员·ai编程
(Charon)6 小时前
【C++面试】堆内存与栈内存:string、vector和对象到底存在哪里
开发语言·c++·面试
Wang's Blog6 小时前
Java框架 SpringCloud 快速入门: Eureka 服务发现与服务名调用改造
java·spring cloud·eureka
夕除6 小时前
redis--OpenResty
java·redis
YZ1225526 小时前
【Docker专题】使用Docker部署Vue-Flask项目前后端分离版【前端Docker部署】
前端·vue.js·docker