当前位置: 首页 > news >正文

在Linux和Windows上编译datax-web-ui源码

记录:375

场景:在CentOS 7.9操作系统上,使用apache-maven-3.8.7安装编译datax-web-ui源码。在Windows上操作系统上,使用apache-maven-3.8.7编译datax-web-ui源码。

版本:

JDK 1.8
node-v14.17.3
npm-6.14.13

datax-web-ui开源地址:https://github.com/WeiYe-Jing/datax-web-ui

一、在Linux上编译datax-web源码

1.安装nodejs和npm

1.1下载地址

官网地址:https://nodejs.org/dist

本例版本:https://nodejs.org/dist/v14.17.3/node-v14.17.3-linux-x64.tar.gz

1.2下载包

命令:wget https://nodejs.org/dist/v14.17.3/node-v14.17.3-linux-x64.tar.gz

解析:下载包名称node-v14.17.3-linux-x64.tar.gz。

1.3解压包

解压命令:tar -zxvf node-v14.17.3-linux-x64.tar.gz -C /usr/local/

解析:-C是解压到指定目录。解压后的目录:/usr/local/node-v14.17.3-linux-x64。

重命名目录:mv /usr/local/node-v14.17.3-linux-x64 /usr/local/nodejs

解析:node相关包就安装到了/usr/local/nodejs下。

1.4配置node、npm命令全局可用

方式一:

命令:ln -s /usr/local/nodejs/bin/node /usr/local/bin/node

命令:ln -s /usr/local/nodejs/bin/npm /usr/local/bin/npm

解析:配置node、npm命令全局可用,实际就是把node和npm创建软链接到/usr/local/bin/目录。系统搜索命令时,默认会到/usr/local/bin/查找命令。

方式二:

命令:ln -s /usr/local/nodejs/bin/node /usr/bin/node

命令:ln -s /usr/local/nodejs/bin/npm /usr/bin/npm

解析:配置node、npm命令全局可用,实际就是把node和npm创建软链接到/usr/bin/目录下。系统搜索命令时,默认会到/usr/bin/查找命令。

1.5配置镜像源

查看当前镜像源:npm get registry

设置为淘宝源:npm config set registry https://registry.npm.taobao.org

设置为官方源:npm config set registry http://www.npmjs.org

2.创建Linux普通用户

使用npm编译前端代码,需普通用户操作。

2.1新建用户

命令:useradd frontend

2.2修改密码

命令:passwd

解析:在执行passwd命令时,会提示输入密码。

3.下载源码

命令:wget https://github.com/WeiYe-Jing/datax-web-ui/archive/refs/tags/v-2.1.2.tar.gz

解析:下载包名是v-2.1.2.tar.gz。

4.解压包

命令:tar -zxvf v-2.1.2.tar.gz -C /home/apps/dx

命令:mv datax-web-ui-v-2.1.2 datax-web-ui

解析:-C解压到指定目录。把datax-web-ui-v-2.1.2重命名为datax-web-ui。

5.更改目录权限

把datax-web-ui目录权限赋个一个普通用户来执行,不使用root执行。

5.1更改目录权限

命令:chown -R frontend:frontend /home/apps/dx/datax-web-ui

5.2报错解决

npm install命令使用root安装编译前端代码时,报错提示权限问题。

报错:gyp ERR! stack Error: EACCES: permission denied, mkdir '/home/apps/dx/datax-web-ui/node_modules/node-sass/.node-gyp'。

解决:创建一个普通用户frontend,使用普通用户安装编译。

原因:npm基于安全考虑不支持以root用户运行。当使用root用户身份运行时,npm会自动转成nobody的用户来运行,而这个用户几乎没有任何权限。因此,报错没有mkdir权限。

6.安装

操作目录:/home/apps/dx/datax-web-ui

6.1安装

安装:npm install

解析:执行npm install,会把从远程镜像仓库加载依赖包下载到本地的node_modules中。

6.2报错解决

报错:npm ERR! /usr/bin/git ls-remote -h -t git://github.com/adobe-webplatform/eve.git

解决:git config --global url."https://".insteadOf git://

7.启动

7.1修改端口

修改文件:vi vue.config.js

修改内容:

const port = 18080
const apiPort = 18081

解析:18080是前端应用端口;18081是后端应用端口。

7.2启动

命令:npm run dev

解析:使用npm run运行代码。

8.打包

8.1打包

命令:npm run build:prod

8.2结果输出目录

输出目录:/home/apps/dx/datax-web-ui/dist

解析:dist目录下的文件就是前端代码编译的结果,可以直接使用。

9.登录

启动成功过后,可以登录。

9.1登录页面

网址信息:http://192.168.19.203:18080/

用户/口令:admin/123456

9.2首页

从登录页到首页是从前端服务调用后端服务。

二、在Windows上编译datax-web源码

1.安装nodejs和npm

1.1下载地址

官网地址:https://nodejs.org/dist

本例版本:https://nodejs.org/dist/v14.17.3/node-v14.17.3-x64.msi

1.2下载包

下载地址:https://nodejs.org/dist/v14.17.3/node-v14.17.3-x64.msi

解析:下载包名称node-v14.17.3-x64.msi。

1.3安装

根据安装向导安装即可。

本例安装目录:D:\Program Files\nodejs

在安装目录下,已经包含了node和npm。

1.4配置环境变量

依次点击和选择:此电脑->属性->高级系统设置->环境变量->系统变量

变量名称:Path

添加变量:D:\Program Files\nodejs\

2.下载源码

下载发布版本datax-web-ui-v-2.1.2。

源码地址:https://github.com/WeiYe-Jing/datax-web-ui/

2.1浏览器直接下载

地址:https://github.com/WeiYe-Jing/datax-web-ui/archive/refs/tags/v-2.1.2.zip

解析:直接在浏览器中输入地址就能下载。

2.2使用Git下载

命令:git clone git@github.com:WeiYe-Jing/datax-web-ui.git

3.解压包

解压包到:D:\dev\ForDx\datax-web-ui

4.安装包

操作目录:D:\dev\ForDx\datax-web-ui

4.1安装

安装:npm install

解析:执行npm install,会把从远程镜像仓库加载依赖包下载到本地的node_modules中。

4.2报错解决

报错:npm ERR! /usr/bin/git ls-remote -h -t git://github.com/adobe-webplatform/eve.git

解决:git config --global url."https://".insteadOf git://

4.3安装慢解决

切换为淘宝镜像源,提升下载速度。。

查看当前镜像源:npm get registry

设置为淘宝源:npm config set registry https://registry.npm.taobao.org

设置为官方源:npm config set registry http://www.npmjs.org

5.启动

5.1修改端口

修改文件:vi vue.config.js

修改内容:

const port = 8080
const apiPort = 8081

解析:8080是前端应用端口;8081是后端应用端口。

5.2启动

命令:npm run dev

解析:使用npm run运行代码。

6.打包

6.1打包

命令:npm run build:prod

6.2结果输出目录

输出目录:D:\dev\ForDx\datax-web-ui\dist

解析:dist目录下的文件就是前端代码编译的结果,可以直接使用。

7.登录

启动成功过后,可以登录。

网址信息:http://127.0.0.1:8080/

用户/口令:admin/123456

以上,感谢。

2023年2月11日

相关文章:

在Linux和Windows上编译datax-web-ui源码

记录:375场景:在CentOS 7.9操作系统上,使用apache-maven-3.8.7安装编译datax-web-ui源码。在Windows上操作系统上,使用apache-maven-3.8.7编译datax-web-ui源码。版本:JDK 1.8 node-v14.17.3 npm-6.14.13datax-web-ui开…...

React组件生命周期管理

组件生命,就是组件在不同阶段提供对应的钩子函数,来处理逻辑操作。比如初始化阶段,我们需要初始化组件相关的状态和变量。组件销毁阶段时,我们需要把一些数据结构销毁来节约内存。 React组件生命周期 React组件生命周期分为三个阶段:挂载阶段【Mount】、更新阶段【Updat…...

Linux:全志H3图像codec使用笔记

1. 前言 限于作者能力水平,本文可能存在谬误,因此而给读者带来的损失,作者不做任何承诺。 2. 图像 codec 概述 图像编解码器(codec) 包含 Encoder 和 Decoder 两部分功能。我们用下列分别说明 Encoder 和 Decoder 的工作方式。 ----------…...

【Python小游戏】通过这款专为程序员设计的《极限车神》小游戏,你的打字速度可以赢过专业录入员,这个秘密98%的人都不知道哦~(爆赞)

导语 哈喽,我是你们的木木子👸! 今天小编要为大家介绍一款小编自己用代码码出来的赛车风格的打字小游戏 取名暂定为《🚗极限车神🚗》打字小游戏。 这款Pygame小游戏在玩法上可以说十分创新,不仅能游戏还…...

Springboot扩展点之BeanPostProcessor

前言 Springboot(Spring)的扩展点其实有很多,但是都有一个共同点,都是围绕着Bean和BeanFactory(容器)展开的,其实这也很好理解,Spring的核心是控制反转、依赖注入、面向切面编程&…...

Fluent Python 笔记 第 3 章 字典和集合

3.1 泛映射类型 只有可散列 的数据类型才能用作这些映射里的键 字典构造方法: >>> a dict(one1, two2, three3) >>> b {one: 1, two: 2, three: 3} >>> c dict(zip([one, two, three], [1, 2, 3])) >>> d dict([(two, 2…...

大型物流运输管理系统源码 TMS源码

大型物流运输管理系统源码 TMS是一套适用于物流公司的物流运输管理系统,涵盖物流公司内部从订单->提货->运单->配车->点到->预约->签收->回单->代收货款的全链条管理系统。 菜单功能 一、运营管理 1、订单管理:用于客户意向订…...

PCIE总线

PCIE总线记录描述PCI分类与速度PCIE连接拓扑与角色PCIE接口定义PCIE数据传输方式与中断在PCIE中有两种数据传输方式:PCIE中断:PCIE协议栈与工作流程PCIE地址空间分类实例分析PCIE两种访问方式描述 PCI-Express(peripheral component interconnect expre…...

Android IO 框架 Okio 的实现原理,如何检测超时?

本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 提问。 前言 大家好,我是小彭。 在上一篇文章里,我们聊到了 Square 开源的 I/O 框架 Okio 的三个优势:精简且全面的 API、基于共享的缓冲区设计以…...

简单介绍反射

1.定义Java的反射机制是在运行状态中,对于任意一个类,都知道这个类的所有属性和方法;对于任意一个对象,都能调用它的任意方法和属性,既然能拿到,我们就可以修改部分类型信息;这种动态获取信息的…...

PyTorch学习笔记:nn.MSELoss——MSE损失

PyTorch学习笔记:nn.MSELoss——MSE损失 torch.nn.MSELoss(size_average None,reduce None,reduction mean)功能:创建一个平方误差(MSE)损失函数,又称为L2损失: l(x,y)L{l1,…,lN}T,ln(xn−yn)2l(x,y)L…...

apache和nginx的TLS1.0和TLS1.1禁用处理方案

1、TLS1.0和TLS1.1是什么? TLS协议其实就是网络安全传输层协议,用于在两个通信应用程序之间提供保密性和数据完整性,TLS 1. 0 和TLS 1. 1 是分别是96 年和 06 年发布的老版协议。 2、为什么要禁用TLS1.0和TLS1.1传输协议 TLS1.0和TLS1.1协…...

K_A12_002 基于STM32等单片机采集光敏电阻传感器参数串口与OLED0.96双显示

K_A12_002 基于STM32等单片机采集光敏电阻传感器参数串口与OLED0.96双显示一、资源说明二、基本参数参数引脚说明三、驱动说明IIC地址/采集通道选择/时序对应程序:四、部分代码说明1、接线引脚定义1.1、STC89C52RC光敏电阻传感器模块1.2、STM32F103C8T6光敏电阻传感器模块五、基…...

《机器学习》学习笔记

第 2 章 模型评估与选择 2.1 经验误差与过拟合 精度:精度1-错误率。如果在 mmm 个样本中有 aaa 个样本分类错误,则错误率 Ea/mEa/mEa/m,精度 1−a/m1-a/m1−a/m。误差:一般我们把学习器的实际预测输出与样本的真实输出之间的差…...

前端卷算法系列(一)

前端卷算法系列(一) 两数之和 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同…...

【机器学习】聚类算法(理论)

聚类算法(理论) 目录一、概论1、聚类算法的分类2、欧氏空间的引入二、K-Means算法1、算法思路2、算法总结三、DBSCAN算法1、相关概念2、算法思路3、算法总结四、实战部分一、概论 聚类分析,即聚类(Clustering)&#xf…...

Docker-用Jenkins发版Java项目-(1)Docke安装Jenkins

文章目录前言环境背景操作流程docker安装及jenkins软件安装jenkins配置登录配置安装插件及创建账号前言 学海无涯,旅“途”漫漫,“途”中小记,如有错误,敬请指出,在此拜谢! 最近新购得了M2的MAC&#xff0c…...

java集合框架内容整理

主要内容集合框架体系ArrayListLinkedListHashSetTreeSetLinkedHashSet内部比较器和外部比较器哈希表的原理List集合List集合的主要实现类有ArrayList和LinkedList,分别是数据结构中顺序表和链表的实现。另外还包括栈和队列的实现类:Deque和Queue。• Li…...

win10系统安装Nginx

Nginx是一款自由的、开源的、高性能的HTTP服务器和反向代理服务器,同时也提供了IMAP/POP3/SMTP服务。 Nginx可以进行反向代理、负载均衡、HTTP服务器(动静分离)、正向代理等操作。因为最近在公司使用到了Nginx 第一步:下载Nginx …...

数据库学习笔记(2)——workbench和SQL语言

1、workbench简介: 登录客户端的两种方法 在cmd中,只能通过sql语句控制数据库;workbench其实就是一种图形化数据库管理工具,在workbench中既可以通过sql语句控制数据库,也可以通过图形化界面控制数据库。通过workbenc…...

【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密

在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...

dedecms 织梦自定义表单留言增加ajax验证码功能

增加ajax功能模块&#xff0c;用户不点击提交按钮&#xff0c;只要输入框失去焦点&#xff0c;就会提前提示验证码是否正确。 一&#xff0c;模板上增加验证码 <input name"vdcode"id"vdcode" placeholder"请输入验证码" type"text&quo…...

Matlab | matlab常用命令总结

常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...

初学 pytest 记录

安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...

MySQL JOIN 表过多的优化思路

当 MySQL 查询涉及大量表 JOIN 时&#xff0c;性能会显著下降。以下是优化思路和简易实现方法&#xff1a; 一、核心优化思路 减少 JOIN 数量 数据冗余&#xff1a;添加必要的冗余字段&#xff08;如订单表直接存储用户名&#xff09;合并表&#xff1a;将频繁关联的小表合并成…...

第一篇:Liunx环境下搭建PaddlePaddle 3.0基础环境(Liunx Centos8.5安装Python3.10+pip3.10)

第一篇&#xff1a;Liunx环境下搭建PaddlePaddle 3.0基础环境&#xff08;Liunx Centos8.5安装Python3.10pip3.10&#xff09; 一&#xff1a;前言二&#xff1a;安装编译依赖二&#xff1a;安装Python3.10三&#xff1a;安装PIP3.10四&#xff1a;安装Paddlepaddle基础框架4.1…...

Unity VR/MR开发-VR开发与传统3D开发的差异

视频讲解链接&#xff1a;【XR马斯维】VR/MR开发与传统3D开发的差异【UnityVR/MR开发教程--入门】_哔哩哔哩_bilibili...

针对药品仓库的效期管理问题,如何利用WMS系统“破局”

案例&#xff1a; 某医药分销企业&#xff0c;主要经营各类药品的批发与零售。由于药品的特殊性&#xff0c;效期管理至关重要&#xff0c;但该企业一直面临效期问题的困扰。在未使用WMS系统之前&#xff0c;其药品入库、存储、出库等环节的效期管理主要依赖人工记录与检查。库…...

ZYNQ学习记录FPGA(二)Verilog语言

一、Verilog简介 1.1 HDL&#xff08;Hardware Description language&#xff09; 在解释HDL之前&#xff0c;先来了解一下数字系统设计的流程&#xff1a;逻辑设计 -> 电路实现 -> 系统验证。 逻辑设计又称前端&#xff0c;在这个过程中就需要用到HDL&#xff0c;正文…...

LeetCode 0386.字典序排数:细心总结条件

【LetMeFly】386.字典序排数&#xff1a;细心总结条件 力扣题目链接&#xff1a;https://leetcode.cn/problems/lexicographical-numbers/ 给你一个整数 n &#xff0c;按字典序返回范围 [1, n] 内所有整数。 你必须设计一个时间复杂度为 O(n) 且使用 O(1) 额外空间的算法。…...