node-red使用echart

news/2024/11/6 19:24:20/文章来源:https://www.cnblogs.com/PrepAndPonder/p/18524173

node-red使用echart

官网下载echart.js

Apache ECharts
下载页面

查找Node-red的settings.js文件

方法一

登陆服务器,启动node-red。

$ node-red
3 Nov 20:22:38 - [info] Welcome to Node-RED
===================3 Nov 20:22:38 - [info] Node-RED version: v4.0.3
3 Nov 20:22:38 - [info] Node.js  version: v20.17.0
3 Nov 20:22:38 - [info] Linux 5.15.0-117-generic x64 LE
3 Nov 20:22:38 - [info] Loading palette nodes
3 Nov 20:22:41 - [info] Dashboard version 1.0.2 started at /ui
......
- /usr/local/lib/node_modules/node-red/node_modules/@node-red/registry/lib/loader.js
- /usr/local/lib/node_modules/node-red/node_modules/@node-red/registry/lib/index.js
- /usr/local/lib/node_modules/node-red/node_modules/@node-red/runtime/lib/nodes/index.js
- /usr/local/lib/node_modules/nodegwyy23c1-red/node_modules/@node-red/runtime/lib/index.js
- /usr/local/lib/node_modules/node-red/lib/red.js
- /usr/local/lib/node_modules/node-red/red.js
3 Nov 20:22:44 - [warn] ------------------------------------------------------
3 Nov 20:22:44 - [info] Settings file  : /home/usr/.node-red/settings.js

方法二

通过node-red --print settings查找

$ node-red --print settings
3 Nov 20:30:08 - [info] Welcome to Node-RED
===================3 Nov 20:30:08 - [info] Node-RED version: v4.0.3
3 Nov 20:30:08 - [info] Node.js  version: v20.17.0
3 Nov 20:30:08 - [info] Linux 5.15.0-117-generic x64 LE
3 Nov 20:30:08 - [info] Loading palette nodes
3 Nov 20:30:08 - [info] Dashboard version 1.0.2 started at /ui
......
Require stack:
- /home/usr/.node-red/node_modules/@emanuel_miron/node-red-email/email.js
- /usr/local/lib/node_modules/node-red/node_modules/@node-red/registry/lib/loader.js
- /usr/local/lib/node_modules/node-red/node_modules/@node-red/registry/lib/index.js
- /usr/local/lib/node_modules/node-red/node_modules/@node-red/runtime/lib/nodes/index.js
- /usr/local/lib/node_modules/node-red/node_modules/@node-red/runtime/lib/index.js
- /usr/local/lib/node_modules/node-red/lib/red.js
- /usr/local/lib/node_modules/node-red/red.js
3 Nov 20:30:10 - [warn] ------------------------------------------------------
3 Nov 20:30:10 - [info] Settings file  : /home/usr/.node-red/settings.js

修改settings.js文件

检索httpStatic配置

根据配置文件的目录,一级级往下找,找到httpStatic

 * The settings are split into the following sections:*  - Flow File and User Directory Settings*  - Security*  - Server Settings*  - Runtime Settings*  - Editor Settings*  - Node Settings
......
/******************************************************************************** Server Settings*  - uiPort*  - uiHost*  - apiMaxLength*  - httpServerOptions*  - httpAdminRoot*  - httpAdminMiddleware*  - httpAdminCookieOptions*  - httpNodeRoot*  - httpNodeCors*  - httpNodeMiddleware*  - httpStatic*  - httpStaticRoot*  - httpStaticCors******************************************************************************/
....../** When httpAdminRoot is used to move the UI to a different root path, the* following property can be used to identify a directory of static content* that should be served at http://localhost:1880/.* When httpStaticRoot is set differently to httpAdminRoot, there is no need* to move httpAdminRoot*///httpStatic: '/home/nol/node-red-static/', //single static source

去掉注释,使生效,同时,可以根据实际情况修改路径。

httpStatic: '/home/nol/node-red-static/', //single static source

可以改成这样,然后把echart.js丢到这个路径下面(文件夹里)

重启nodered使配置生效

sudo systemctl restart nodered

复制粘贴echart的样例html代码

<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title>ECharts</title><!-- 引入刚刚下载的 ECharts 文件 --><script src="echarts.js"></script></head><body><!-- 为 ECharts 准备一个定义了宽高的 DOM --><div id="main" style="width: 600px;height:400px;"></div><script type="text/javascript">// 基于准备好的dom,初始化echarts实例var myChart = echarts.init(document.getElementById('main'));// 指定图表的配置项和数据var option = {title: {text: 'ECharts 入门示例'},tooltip: {},legend: {data: ['销量']},xAxis: {data: ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子']},yAxis: {},series: [{name: '销量',type: 'bar',data: [5, 20, 36, 10, 10, 20]}]};// 使用刚指定的配置项和数据显示图表。myChart.setOption(option);</script></body>
</html>

丢到node-red的template节点里。
apply,发现,一片白。
查看发现,echart.js无法正常加载。
继续修改template代码。

<template><div><!-- 为 ECharts 准备一个定义了宽高的 DOM --><div id="main" style="width: 600px; height: 400px;"></div></div>
</template><script>
export default {mounted() {// 动态创建 script 标签const echartsScript = document.createElement('script');echartsScript.src = '/echarts.js';echartsScript.async = true;echartsScript.onload = () => {try {// 确保 echarts.js 加载完成后再初始化 echartsconst echarts = window.echarts;// 基于准备好的 dom,初始化 echarts 实例var myChart = echarts.init(document.getElementById('main'));// 指定图表的配置项和数据var option = {title: {text: 'ECharts 入门示例'},tooltip: {},legend: {data: ['销量']},xAxis: {data: ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子']},yAxis: {},series: [{name: '销量',type: 'bar',data: [5, 20, 36, 10, 10, 20]}]};// 使用刚指定的配置项和数据显示图表。myChart.setOption(option);console.log("ECharts chart rendered successfully");} catch (error) {console.error("Error initializing or rendering ECharts:", error);}};document.head.appendChild(echartsScript);}
}
</script><style>
/* define any styles here - supports raw CSS */
#main {width: 600px;height: 400px;
}
</style>

测试

在这个过程中:

确认了 echarts.js 文件的路径和权限正确。
确认 httpStatic 配置,确保静态文件路径设置正确。
手动测试 echarts.js 文件,确保文件可以正确加载。
使用浏览器开发者工具的网络标签页,确认 echarts.js 文件被正确加载。
检查浏览器控制台,查看报错信息
修改template代码
动态创建 script 标签,确保 echarts.js 在 mounted 钩子之前加载。
使用 window.echarts 而不是动态导入,确保 echarts 在脚本加载完成后可用。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

什么是无线漫游?无线漫游的工作原理是什么?

什么是无线漫游无线漫游是指在相同SSID(Service Set Identifier,服务集标识)的无线网络中,确保无线终端STA(如手机、电脑等终端设备)在移动过程中能够保持不间断网络连接的技术。因为在无线局域网中,每个AP(Access Point,无线访问接入点)设备的信号覆盖范围都有限,无线…

【CoCollider】让系统和应用适配如此简单

在各平台应用开发过程中,随着业务的功能增加,不免会涉及到非公开的 API 依赖,针对某些应用或厂商系统的适配,每个版本都需要投入精力去排查,CoCollider 可以让我们的适配效率从几个星期提升到几小时即可完成。在各平台应用开发过程中,随着业务的功能增加,不免会涉及到非…

深入学习软件组件认证的三个关键

人工智能软件,特别是深学习组件,是目前实现自主汽车等自主系统的最先进和经济上可行的解决方案。然而,DL算法的性质及其当前的实现与汽车、卫星和火车等安全关键系统中严格的软件开发过程不一致。 传统的安全相关软件采用自上而下的方法,对组件进行分解,并相应地传播安全要求,直…

IDEA中通义灵码的使用技巧

大家好,我是 V 哥。在日常写代码的过程中,通过 AI 工具辅助开发已是当下程序员惯用的方式,V 哥在使用了众多的 AI 工具后,多数情况下,选择通义灵码来辅助开发,尤其是解释代码和生成单元测试功能甚是好用,听 V 哥来详细聊聊。 通义灵码安装 打开你的 IDEA 开发工具,在菜…

10.14 每日总结

今天继续学习软考。 代码时长1小时,学习时长两小时。 软考内容学习数据结构:时间复杂度: 递归的次数 X 每次递归的时间复杂度

【TEC047】基于Xilinx XCZU47DR RFSOC的射频收发核心处理模块

​TEC047是一款基于Xilinx的Zynq UltraSacle+ RFSoC Gen3系列FPGA XCZU47DR的射频收发核心模块,该模块将XCZU47DR芯片及其最小系统集成在了一个80*115mm的核心板上,可以作为一个紧凑的核心,进行功能的扩展,能够快速的搭建起一个多通道射频收发的信号处理平台,缩短用户的产…

C# 实现拖拽功能

很多时候,为了方便用户操作,需要增加拖拽功能。实现起来其实很简单,按照下面的步骤,你也能成功!快去试试吧。 一、 属性设置为True 二、共需要实现两个方法。 代码如下:private void FrmReplaceTools_DragDrop(object sender, DragEventArgs e){string[] s = (string[])…

设计登陆验证码的逻辑

今日面试某信息的场景题提到了下这个问题,没太搞懂面试官具体想让我说的就是两个接口的设计,一个生成验证码,一个校验验证码,和其具体的设计方案,没听懂当时的意思,有的小懵逼,因此回头总结回顾一下,日常开发中对这些小细节还是要注重一下,不能因为场景逻辑简单就不去…

使用最新版的wvp和ZLMediaKit搭建Gb28181测试服务器

目录说明安装1.安装nodejs简介安装步骤2.安装java环境3.安装mysql安装修改密码4.安装redis5.安装编译器6.安装cmake7.安装依赖库8.编译ZLMediaKit9.编译wvp-GB28181-pro配置1.ZLMediaKit配置2.wvp-GB28181-pro配置2.1.配置ZLMediaKit连接信息2.2.28181服务器的配置2.3.配置web服…

在昇腾Ascend 910B上运行Qwen2.5推理

使用 GPUStack 在昇腾 Ascend 910B 上运行 Qwen2.5 全系列的推理性能表现目前在国产 AI 芯片,例如昇腾 NPU 上运行大模型是一项广泛且迫切的需求,然而当前的生态还远未成熟。从底层芯片的算力性能、计算架构的算子优化,到上层推理框架对各种模型的支持及推理加速,仍有很多需…

MMCA:多模态动态权重更新,视觉定位新SOTA | ACM MM24 Oral

来源:晓飞的算法工程笔记 公众号,转载请注明出处论文: Visual Grounding with Multi-modal Conditional Adaptation论文地址:https://arxiv.org/abs/2409.04999 论文代码:https://github.com/Mr-Bigworth/MMCA创新点提出了多模态条件适应(MMCA)方法,该方法从一种新颖的权…

PbootCMS前端页面样式丢失

前端页面样式丢失问题原因:静态资源文件路径不正确或文件缺失。 解决方法:检查 static 目录下的 CSS 和 JS 文件是否存在。 确保前端页面引用的静态资源路径正确。 清除浏览器缓存,重新加载页面。扫码添加技术【解决问题】专注中小企业网站建设、网站安全12年。熟悉各种CMS,…