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

news2025/1/8 20:19:08

记录: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日

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/337809.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

江苏五年制专转本应该复习几轮?

五年制专转本应该复习几轮? 据调查统计:2022年专转本17%的考生复习三轮及以上,23%的考生复习了两轮。这两类的考生录取率高至85%。可见复习轮数多,专转本上岸的概率也大。综合多方因素,建议同学们专转本复习四轮&#…

pointpillars Paper学习总结

Pointpillar Paper PointPillars提出了一种新的点云编码方式和3D转2D的方法,用2D卷积的方式实现目标检测而没有采用耗时的3D卷积,在速度和精度上达到了很好的平衡,其速度快、精度高、易于部署的特点使得其在工业界得到了广泛的应用。 处理思…

JavaWeb--JDBC

JDBC1 JDBC概述1.1 JDBC概念1.2 JDBC本质1.3 JDBC好处2 JDBC快速入门2.1 编写代码步骤2.2 具体操作3 JDBC API详解3.1 DriverManager3.2 Connection3.2.1 获取执行对象3.2.2 事务管理3.3 Statement3.3.1 概述3.3.2 代码实现3.4 ResultSet3.4.1 概述3.4.2 代码实现3.5 案例3.6 P…

2.Java基础【Java面试第三季】

2.Java基础【Java面试第三季】前言推荐2.Java基础01_字符串常量Java内部加载-上58同城的java字符串常量池面试code讲解intern()方法---源码解释02_字符串常量Java内部加载-下whyOpenJDK8底层源码说明递推步骤总结考查点03_闲聊力扣算法第一题字节跳动两数求和题目说明面试题解法…

rt-thread 移植调试记录

rt-thread 移植调试记录 记录rt-thread移植的过程。这里移植仅仅是利用rt-thread源码目录已经移植好的文件,组建自己的工程,不需要自己编写汇编完成底层移植。 1. 搭建基础工程 这里使用的是正点原子的潘多拉开发板,MCU为stm32l475。需要先…

【c++】类和对象:让你明白“面向一个对象有多重要”:构造函数,析构函数,拷贝构造函数的深入学习

文章目录 什么是面向对象?一:类是什么? 1.类的访问限定符 2.封装 3.类的实例化 4.this指针二:类的6个默认成员函数 1.构造函数 2.析构函数 3.拷贝构造函数什么是面向对象? c语言是面向…

window系统中安装Jupyter Notebook方法记录

1.初步感受Jupyter Notebook Jupyter Notebook 官网地址:Jupyter Notebook Jupyter Notebook(此前被称为 IPython notebook)是一个交互式笔记本,支持运行 40 多种编程语言。 Jupyter Notebook 的本质是一个 Web 应用程序&#xf…

Java体系最强干货分享—挑战40天准备Java面试,最快拿到offer!

如何准备java面试,顺利上岸大厂java岗位? 主攻Java的人越来越多,导致行业越来越卷,最开始敲个“hello world”都能进大厂,现在,八股、全家桶、算法等等面试题横行,卷到极致!就拿今年…

聊聊什么是架构,你理解对了吗?

什么是架构?软件有架构?建筑也有架构?它们有什么相同点和不同点? 下面咱们就介绍一下,容易混淆的几个概念 一、系统与子系统 系统 泛指由一群有关联的个体组成,根据某种规则运作,能完成个别元件不能单独完成的工作的群体。它的意思是 “总体”、“整体”或“联盟” 子系…

Java基础常见面试题(二)

面向对象基础 面向对象和面向过程的区别 面向过程 优点: 性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发,性能是最重要的因素。 缺点…

如何做迭代规划

敏捷开发中的迭代规划如同使用需求漏斗,对各方需求定期进行优先级排序并层层拆解或合并,最终把高优先级且细粒度的需求从漏斗进入到研发团队,确保研发团队做对的事(Do Right Things),避免团队跑偏方向或进度…

Netty之EventLoopGroup详解

目录 目标 Netty版本 Netty官方API NioEventLoopGroup和DefaultEventLoop的区别 EventLoopGroup实现对内部EventLoop的轮询 EventLoop对普通任务和定时任务的实现 执行普通任务 执行定时任务 划分EventLoopGroup职责 简言 实现 指定EventLoopGroup操作ChannelHandl…

手机上怎么在线生成gif?1分钟教你手机图片合成gif

怎样通过手机实现在线制作GIF图片的操作呢?接下来,给大家分享两招gif制作(https://www.gif.cn/)小窍门-【GIF中文网】不需要下载任何软件,小白也能轻松上手。支持原画质导出,图片无损处理。一起来看看具体步…

前端教学视频分享(视频内容与市场时刻保持紧密相连,火热更新中。。。)

⚠️获取公众号 本次要想大家推荐一下本人的公众号,在微信中搜索公众号 李帅豪在对话框中输入前端视频四个字即可立即获取所有视频,不收费无广告!!! 本公众号收集了近两年来前端最新最优秀的学习视频,涵盖…

大数据技术架构(组件)30——Spark:Optimize--->Submit

2.1.9、Optimize--->Submit调优工作主要从CPU、内存、网络开销和IO四方面入手2.1.9.0、Spark On Yarn2.1.9.0.1、Jar包管理及本地性调优spark.yarn.jars :将jar包放到hdfs上,避免每次driver启动的时候都要进行jar包的分发。yarn.nodemanager.localizer.cache.cle…

ChatGPT告诉你智能制造

ChatGPT自上线以来,几乎得到了外界的一致好评,上线两个月,获得1亿月活跃用户,成为增长最快的面向消费者的应用。 面对ChatGPT拟人一般的问答能力,很多人认为它代表着AlphaGo之后,人工智能应用的第二次浪潮…

电子技术——MOS差分输入对

电子技术——MOS差分输入对 差分输入系统因其极高的共模抑制能力,差分输入几乎是是构建所有通用模拟IC的基本前级输入,也是现代信号传输理论的基础。本节我们讲解MOS差分输入对。 MOS差分输入对 下图展示了MOS差分输入对的基本原理图: 一个…

数据采集协同架构,集成马扎克、西门子、海德汉、广数、凯恩帝、三菱、海德汉、兄弟、哈斯、宝元、新代、发那科、华中各类数控以及各类PLC数据采集软件

文章目录 前言一、采集协同架构是什么?可以做什么(数控、PLC配置采集)?二、使用步骤 1.打开软件,配置MQTT或者数据库(支持sqlserver、mysql等)存储转发消息规则2.配置数控系统所采集的参数、转…

项目(今日指数)

一 项目架构1.1 今日指数技术选型【1】前端技术【2】后端技术栈【3】整体概览3.2 核心业务介绍1】业务结构预览【2】业务功能简介1.定时任务调度服务XXL-JOB通过RestTemplate多线程动态拉去股票接口数据,刷入数据库; 2.国内指数服务 3.板块指数服务 4.涨…

使用Harbor构建docker私有仓库

一、概述1、什么是HarborHarbor 是VMware公司开源的云本地 registry 仓库,有可视化的Web管理界面,可以方便的管理和储存 Docker 镜像。Harbor 支持在多个仓库直接进行复制镜像,提供用户管理和访问控制和活动审计。2、Harbor的优势基于角色控制…