news 2026/1/15 18:56:11

创建自定义 Highcharts 包使用文档说明

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
创建自定义 Highcharts 包使用文档说明

由于使用 ES 模块,您可以创建自己的定制 Highcharts 包。 使用自定义文件的一个好处是可以优化浏览器加载速度, 因为文件体积更小,请求的文件也更少。

按照以下步骤开始操作。

安装 Highcharts

访问highcharts/highcharts
仓库,点击“代码”并选择“下载 ZIP”。下载完成后,将压缩包解压到想要的位置。

以下步骤需要 Node.js,您可以从
Node.js 官网 下载并安装。Highcharts 支持长期支持(LTS)版本。

安装好 Node.js 后,打开你的命令行、终端或控制台,然后进入解压后的文件夹highcharts-master。在这里,你需要运行npm install来安装构建自定义 Highcharts 文件所需的依赖项。

创建一个自定义主文件

在你的编辑器中,进入解压后的文件夹highcharts-master/ts/masters/,并创建一个新文件,例如命名为custom.src.ts。在这个例子中,我们需要一个基本的折线图。为了实现这一点,我们需要一个列出所有必要 ES 模块的设置,如下所示:

/** * @license Highcharts JS v@product.version@ (@product.date@) * @module highcharts/highcharts * * (c) 2009-2024 Highcharts AS * * License: www.highcharts.com/license */'use strict';importHighchartsfrom'../Core/Globals.js';importSVGRendererfrom'../Core/Renderer/SVG/SVGRenderer.js';importChartfrom'../Core/Chart/Chart.js';importLineSeriesfrom'../Series/Line/LineSeries.js';constexports:Record<string,any>=Highcharts;exports.Renderer=SVGRenderer;exports.SVGRenderer=SVGRenderer;exports.Chart=Chart;exports.chart=Chart.chart;exports.LineSeries=LineSeries;exportdefaultHighcharts;

根据你的需求修改设置,然后继续下一步。请注意,导入的 ES 模块的顺序有时必须与每个文件的依赖关系相匹配。因此,额外的可选内容应放在最后。有关顺序信息,请参阅其他示例。

查看现有的主文件,获取类似的示例。

创建自定义包文件

运行npx gulp scripts --force来将所有包文件从主文件构建出来。也可以选择额外运行npx gulp scripts-compile,以获得压缩版本。

在我们的示例中,新的文件ts/masters/custom.src.ts变成了新的包文件code/custom.src.js。压缩版可以在
code/custom.js找到。你可以从code/文件夹中取出这些包文件,并在你的项目中使用它们。

对于兼容ESM的文件,你需要复制code/es-modules/文件夹。可以根据需要重命名这个文件夹。这个文件夹可能很大,但ESM只会从中挑选必要的文件用于你的项目。像parcelwebpack这样的打包工具可以帮助你在项目的最后阶段进一步优化加载时间。

如果你想在新包文件code/custom.src.js之外添加声明,请运行npx gulp jsdoc-dts --custom.

使用你的自定义包文件

根据我们的安装指南 installation ,你可以将自定义包文件作为ES6模块引用……

<html><body><divid="container"></div><scripttype="module">importHighchartsfrom'./esm/custom.js';Highcharts.chart('container',{series:[{type:'line',data:[1,32,42]}]});</script></body></html>

或者用传统方式,带有一个 script 标签:

<html><head><scriptsrc="custom.src.js"></script></head><body><divid="container"></div><script>Highcharts.chart('container',{series:[{type:'line',data:[1,32,42]}]});</script></body></html>
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/1/14 14:11:14

Spring AOP 和 AspectJ 怎么选?核心区别一看就懂

在Java企业级开发中&#xff0c;面向切面编程&#xff08;AOP&#xff09;是实现解耦和增强功能的关键技术。Spring AOP和AspectJ是其中最常被讨论的两个选项&#xff0c;它们各有其设计目标和适用场景。理解两者的核心区别与联系&#xff0c;能帮助开发者根据项目实际情况做出…

作者头像 李华
网站建设 2026/1/5 8:30:54

如何利用Wan2.2-T2V-A14B提升AIGC内容生产效率?

如何用Wan2.2-T2V-A14B把“一句话”变成高清视频&#xff1f;&#x1f3ac; 你有没有试过脑子里有个绝妙的画面——比如“敦煌飞天在星空中起舞&#xff0c;丝绸飘动&#xff0c;月光洒落”——但根本没法拍出来&#xff1f;&#x1f4f8;❌ 以前这只能靠脑补。但现在&#xff…

作者头像 李华
网站建设 2026/1/15 3:21:19

3步掌握PLabel:开启高效半自动标注新时代

3步掌握PLabel&#xff1a;开启高效半自动标注新时代 【免费下载链接】PLabel 半自动标注系统是基于BS架构&#xff0c;由鹏城实验室自主研发&#xff0c;集成视频抽帧&#xff0c;目标检测、视频跟踪、ReID分类、人脸检测等算法&#xff0c;实现了对图像&#xff0c;视频的自动…

作者头像 李华
网站建设 2026/1/13 13:13:32

专业视频对比工具video-compare:从入门到精通的完整指南

你是否曾经为无法直观比较两个视频的细微差异而苦恼&#xff1f;在视频编码优化、算法评估或质量控制过程中&#xff0c;传统的播放器切换对比方式效率低下且容易遗漏关键细节。video-compare视频对比工具正是为解决这一痛点而生&#xff0c;它基于FFmpeg和SDL2构建&#xff0c…

作者头像 李华
网站建设 2026/1/4 20:38:55

WebRTC-Streamer实战指南:从零构建低延迟实时视频系统

WebRTC-Streamer实战指南&#xff1a;从零构建低延迟实时视频系统 【免费下载链接】webrtc-streamer WebRTC streamer for V4L2 capture devices, RTSP sources and Screen Capture 项目地址: https://gitcode.com/gh_mirrors/we/webrtc-streamer 你是否曾经为传统视频监…

作者头像 李华