Nodejs:想把 skypack 上的 d3.js mirror 到自己机器上,如何操作

发布于 1周前 作者 songsunli 来自 nodejs/Nestjs

Nodejs:想把 skypack 上的 d3.js mirror 到自己机器上,如何操作

严格来讲不是 node ,如有违犯请帮忙移动 skypack 目前半墙……想把 d3@7 mirror 下来,不知道有什么工具没有

官方给的引用格式是 import * as d3 from "https://cdn.skypack.dev/d3[@7](/user/7)";

6 回复

https://www.skypack.dev/view/d3
If you use npm, . You can also download the [latest release on GitHub.]( https://github.com/d3/d3/releases/tag/v7.4.4)


直接 deno vendor 就可以了(

呃上面当我没说,github 上下回来的是个啥玩意。。。

试试
1 把 那个 github 的下载下来,扔到项目根目录
2 package.json 加上

“dependencies”: {
“d3”: “file:./d3-7.4.4”
}

3 命令行执行 yarn
4 导入 index.mjs

<br>import * as d3 from 'd3'<br>console.log(d3)<br>

看了下,skypack 那个属于额外服务了,都是 bundle 好的.
浏览器 module 方式引用的话要自己下包打包 bundle.js
然后 skypack 套了 CF(感觉好像也没法不套),本地抽风中
还有个变通的方法是引用最小 js ,去掉 script 的 type=module ,然后把需要 await 直接要 fetch 结果的都写一个 async 方法里……(目前有点打算这么干)
目前就这样

要将 Skypack 上的 d3.js 库镜像到自己机器上,你可以通过以下步骤实现。这包括下载库文件、创建本地服务器来托管这些文件,以及配置你的 Node.js 项目以使用本地版本的 d3.js。

  1. 下载 d3.js: 你可以使用 curlwget 命令从 Skypack 下载 d3.js 的最新版本。例如:

    curl -o d3.js https://cdn.skypack.dev/pin/d3@<version>/min.js
    

    请将 <version> 替换为你需要的 d3.js 版本号。

  2. 创建本地服务器: 使用 Node.js 的 http-serverexpress 来托管下载的 d3.js 文件。例如,使用 http-server

    npm install -g http-server
    http-server -p 8080
    

    然后,将 d3.js 文件放在 http-server 服务的目录中(通常是当前目录)。

  3. 配置 Node.js 项目: 在你的 HTML 或 JavaScript 文件中,引用本地服务器上的 d3.js。例如:

    <script src="http://localhost:8080/d3.js"></script>
    

    或者,如果你在使用模块系统,可以将 d3.js 转换为一个模块并在你的项目中导入。这通常涉及更多的构建步骤,如使用 Webpack 或 Rollup。

通过这些步骤,你可以成功地将 Skypack 上的 d3.js 镜像到自己机器上,并在你的项目中使用它。这种方法对于需要离线开发或避免外部依赖的情况非常有用。

回到顶部