AMIS【部署 01】amis前端低代码框架可视化编辑器amis-editor本地部署流程

amis-editor本地部署流程

  • 1.amis-editor是什么
    • 1.1 amis是什么
    • 1.2 amis-editor是什么
  • 2.amis-editor本地部署
    • 2.1 准备阶段
    • 2.2 源码修改
    • 2.3 构建项目
    • 2.4 nginx配置
    • 2.5 启动nginx
  • 3.总结

官网仅贴出了本地运行这个项目的步骤:

# 1.安装依赖
npm i
# 2.等编译完成后本地打开页面看效果
npm run dev

我是后端开发工程师,对这类项目的打包部署并不是很了解,特此记录。

1.amis-editor是什么

1.1 amis是什么

amis 是一个低代码前端框架,它使用 JSON 配置来生成页面,可以减少页面开发工作量,极大提升效率。

使用JSON编写页面有以下好处:

  1. 无需前端知识: 对于不了解前端或JavaScript的用户,使用JSON配置的方式可以生成专业且复杂的后台界面,这是其他前端UI库无法轻松实现的。
  2. 不受前端技术更新的影响: amis基于JSON配置,使得页面不受前端技术的快速更新影响。百度内部存在六年前创建的amis页面仍在使用,而当时的Angular/Vue/React版本已经被废弃。
  3. 持续升级: amis不断提升用户体验,例如表格首行冻结和下拉框大数据处理。JSON配置无需修改,使得页面保持最新功能而不增加维护成本。
  4. 可视化页面编辑器: amis提供可视化页面编辑器,允许完全使用可视化界面来制作页面,而不仅仅是静态原型。

amis的其他亮点:

  1. 完整的界面解决方案: amis通过JSON配置可以完成完整功能开发,包括数据获取、表单提交、验证等,无需二次开发即可直接上线。
  2. 大量内置组件: amis内置120+组件,解决了一站式开发的问题,不需要依赖第三方组件库,确保展现和交互一致性。
  3. 支持扩展: 除了低代码模式,还支持通过自定义组件进行扩展,可以实现90%低代码和10%代码开发的混合模式,提高效率和灵活性。
  4. 容器支持无限级嵌套: 可以通过嵌套来满足各种布局和展现需求。
  5. 经过实战验证: 在百度内部广泛使用,经过6年多时间创建了5万多个页面,涵盖了各种需求,从内容审核到机器管理,证明了amis的实用性。

amis不适合的情况:

  1. 大量定制UI: amis更适合用于有大量常见UI组件的页面,对于追求个性化视觉效果的面向普通客户(toC)的页面,不太适用。
  2. 极为复杂或特殊的交互:
    • 复杂的前端功能: 涉及大量定制拖拽操作等依赖原生DOM的功能无法使用amis。
    • 特殊交互: 对于某些特殊的交互,如可视化编辑器中的定制拖拽操作,amis可能无法提供解决方案,但后续版本可能会增加专门的组件支持。

1.2 amis-editor是什么

amis-editor 是 amis 的可视化编辑器,它能让开发者快速搭建后台页面,只需要通过拖拽组件等就可以生成对应的 JSON 代码。

2.amis-editor本地部署

可视化编辑器官网介绍:https://aisuda.bce.baidu.com/amis/zh-CN/docs/extend/editor

2.1 准备阶段

  • nodejs环境
C:\Users\Administrator>node -v
v16.14.0
  • 获取项目代码,地址:https://github.com/aisuda/amis-editor-demo,我们仅需要以下代码即可:

amis-editor-1.jpg

2.2 源码修改

修改amis.config.js的build脚本配置信息,如下:

build: {
  entry: { 
    index: './src/index.tsx',
      },
  NODE_ENV: 'production',
    // 1.【可以进行修改】打包后的文件绝对路径(物理路径)
    assetsRoot: resolve('./demo-5.6.2'), 
    // 2.【必须进行修改】设置静态资源的引用路径
    assetsPublicPath: './', 
    assetsSubDirectory: '', 
    productionSourceMap: false,
    productionGzip: false,
    productionGzipExtensions: ['js', 'css', 'json'],
    plugins: [new MonacoWebpackPlugin()],
    bundleAnalyzerReport: false,
}

2.3 构建项目

  1. 安装依赖
npm i
  1. 使用 npm 脚本进行项目构建:

amis-editor-3.jpg
构建成功后,会生成demo-5.6.2目录:

amis-editor-2.jpg
将打包后的文件复制到nginx的html目录的自建文件夹下,我的是dist文件夹。

2.4 nginx配置

server {
    listen 80;
  	# 替换成你的域名或服务器IP
    server_name your_domain.com; 
  	# 核心配置
    location / {
        root /path/to/your/html/dirPath;
      	#【比如我的windows环境】 root D:\\app\\nginx-1.18.0\\html\\dist;
        index index.html;
        try_files $uri $uri/ /index.html;
    }
    # 可根据需要配置其他规则,比如代理到后端服务等
}

2.5 启动nginx

在浏览器里输入your_domain.com即可:

amis-editor-0-1.jpg
编辑初始页面,可看的系统的默认组件:

amis-editor-0.jpg

3.总结

整个流程还是很简单的,由于index.html里有部分图标还是https地址可能现实不正常,但是不影响使用。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

30岁+项目经理和PMO少奋斗10年的职业规划路线

大家好,我是老原。 很多项目经理小白出来工作遇到困惑时又以得过且过的态度拒绝了别人的指导和建议,磨磨蹭蹭的就到了30岁。 大多数人会感到迷茫的原因,是因为对自己要往什么方向发展?做什么样的事情毫无计划和想象。 为什么会…

Docker,从入门到精通

1、DockerFile 介绍 dockerfile 是啥?dockerfile 用来构建 docker 镜像的文件。 具体步骤: 1、编写一个 dockerfile 文件 2、docker build 构造一个镜像 3、docker run 运行镜像 4、docker push 发布镜像 DockerFile 构建过程 1、每个保留关键字都必须是大…

数字图像处理(实践篇)十三 数据增强之给图像添加噪声!

目录 一 涉及的函数 二 实践 一 涉及的函数 skimage.util.random_noise( ) skimage.util.random_noise(image, modegaussian, seedNone, clipTrue, **kwargs) 函数的功能:为浮点型图片添加各种随机噪声。 输入: ①image:输入图像&…

react-virtualized报bpfrpt_proptype_WindowScroller引入错误

背景 vite构建阶段react-virtualized报错 报错信息 ✘ [ERROR] No matching export in "node_modules/_react-virtualized9.22.5react-virtualized/dist/es/WindowScroller/WindowScroller.js" for import "bpfrpt_proptype_WindowScroller"node_module…

微信开发者代码管理删除项目

微信开发者代码管理删除项目 1、打开 微信开发者代码管理平台,选择项目,显示个人用户下的项目 2、点进项目里面,选中设置 3、进入设置页面 4、选择高级设置–> 仓库设置 5、选中删除项目 6、删除页面 这样就 OK 了

[Python入门系列之十二]安装Jupyter notebook与代码运行

引言 Jupyter Notebook将代码、图片和文本完美结合在一起,为编程学习带来了前所未有的便捷性。本文旨在为初学者提供一个关于Jupyter Notebook的入门指南。 什么是Jupyter Notebook Jupyter Notebook是一个开源的Web应用程序,允许你创建和共享包含代码…

删除排序链表的重复元素I和II,多种解法和思考

删除排序链表的重复元素I https://leetcode.cn/problems/remove-duplicates-from-sorted-list/description/ 一个循环就可以了,如果当前节点和下一个节点值一样,当前节点不移动让next后移动一个,如果不一样则当前节点后移。 一个循环就可以…

python 生成器的作用

1. 生成器 参考: https://www.cainiaojc.com/python/python-generator.html 1.1. 什么是生成器? 在 python 中,一边循环一边计算的机制,称为生成器:generator. 1.2. 生成器有什么优点? 1、节约内存。p…

QNX下多窗口叠加融合方案

目的:QNX下EGL多窗口叠加融合方案 环境: 系统:QNX 环境:8155/8295问题: EGL有时候在同一个进程中因为引入不同的功能,在不同的线程中进行窗口的绘制和融合,QNX下的融合方案,实测使…

速记:一个保险丝检测电路

一个保险丝检测电路 保险丝熔断:红灯亮 保险丝正常:绿灯亮 同样的,仿真中的指示灯可以换成其他指示器件。

【MYSQL】表的基本查询

目录 前言 一、Create(增) 1.单行数据 全列插入 2.多行数据 指定列插入 3.插入否则更新 4.替换 二、Retrieve(查) 1.select列 1.1全列查询 1.2指定列查询 1.3查询字段为表达式 1.4为查询结果指定别名 1.5结果去重 …

Java 最全面试总结——3.多线程篇

1、说说Java中实现多线程有几种方法 创建线程的常用三种方式: 继承Thread类实现Runnable接口实现Callable接口( JDK1.5> )线程池方式创建 通过继承Thread类或者实现Runnable接口、Callable接口都可以实现多线程,不过实现Run…

Ebullient 硬件篇

一. 简介 哈喽,大家好,好久没有给大家分享新项目了,但之前分享了许多项目都没有认认真真的做完过,做到了一半,由于某些原因就放弃了,给自己的一种感觉是做了很多东西,但是能拿出来讲的缺没有几…

彩虹云商城搭建教程+源码程序

前言:域名服务器或宝塔主机商场程序在线云商城 随着电子商务的快速发展,越来越多的企业开始意识到开设一个自己的电子商城对于销售和品牌推广的重要性。然而,选择一家合适的网站搭建平台和正确地构建一个商城网站并不是一件容易的事情。本文…

AKConv:具有任意采样形状和任意数目参数的卷积核

文章目录 摘要1、引言2、相关工作3、方法3.1、定义初始采样位置3.2、可变卷积操作3.3、扩展AKConv3.3、扩展AKConv 4、实验4.1、在COCO2017上的目标检测实验4.2、在VOC 712上的目标检测实验4.3、在VisDrone-DET2021上的目标检测实验4.4、比较实验4.5、探索初始采样形状 5、分析…

【动态规划】LeetCode-70.爬楼梯

🎈算法那些事专栏说明:这是一个记录刷题日常的专栏,每个文章标题前都会写明这道题使用的算法。专栏每日计划至少更新1道题目,在这立下Flag🚩 🏠个人主页:Jammingpro 📕专栏链接&…

C语言——深入理解指针(3)

目录 1. 字符指针 2. 数组指针 2.1 数组指针变量 2.2 数组指针变量的初始化 3.二维数组传参(本质) 4. 函数指针 4.1 函数指针变量的创建 4.2 函数指针的使用 4.3 typedef 5. 函数指针数组 6. 转移表(函数指针数组的使用&#xff…

4G5G防爆执法记录仪、防爆智能安全帽赋能智慧燃气,可视化巡检巡线,安全生产管控

随着燃气使用的普及,燃气安全问题日益突出。传统应急安全问题处理方式暴露出以下问题: 应急预案不完善:目前一些燃气企业的应急预案存在实用性不高、流程不清晰等问题,导致在紧急情况下难以迅速启动和有效执行。 部门协同不流畅…

网工内推 | 中高级网工,IE认证优先,带薪年假,五险一金

01 敏于行(北京)科技有限公司 招聘岗位:高级网络开发工程师 职责描述: 1、负责设计、参与数字身份安全中网络安全模块相关项目(零信任SDP、VPN等); 2、深入研究和理解网络底层协议和通信机制&…

【hacker送书第6期】深入理解Java核心技术

第6期图书推荐 内容简介作者简介精彩书评参与方式 内容简介 《深入理解Java核心技术:写给Java工程师的干货笔记(基础篇)》是《Java工程师成神之路》系列的第一本,主要聚焦于Java开发者必备的Java核心基础知识。全书共23章&#xf…