@fusionstrings/swisseph-wasm

中文文档
0.1.5发布于 2026/01/13MITTypeScriptESM + CJS零依赖近 30 天下载 6716

用于WebAssembly的高精度瑞士以弗梅里斯装订(基于Rust)

中文使用文档
文档目录16 节
  1. 特征
  2. 基准
  3. 1. 复杂的计算(如月球位置)
  4. 2. 简单计算(如太阳位置)
  5. 安装
  6. 德诺/JSR
  7. Rust (货运)
  8. 国家预防机制/节点.js
  9. 浏览器 (Zero-Config)
  10. 快速启动
  11. 来源建筑
  12. 先决条件
  13. 构建命令
  14. 维修
  15. 版本管理
  16. 许可证

{\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}我..

高精度,Web Assembly 为瑞士以弗梅里斯.

  • 🚀 最佳级: 比纯粹的JS更快,更小,更准确 执行.
  • 🛡️ 保险:为FFI互动提供基于锈蚀的内存安全.
  • 📦 通用: works in Node.js, Deno, Bun, and 浏览器.

JSR npm Crates.io CI

特征

  • 全瑞士以弗梅里斯: 包装完整的 C 库(v2.1.0.03).
  • 无依赖:被生成的WASM没有外部运行时间道具.
  • 类型安全: 完整类型脚本定义.
  • 异态:在Web Assembly运行的任何地方运行.

基准

1. 复杂的计算(如月球位置)

当精确度重要时, swisseph-wasm 两者都是 快点 财务报告和审定财务报表 更多 准确。 。 。 .

环境摇篮-摇篮天文学引擎比较
德诺 (奔驰)~182 000 里特尔/秒~126 000 里特尔/秒1.44x 更快 🚀

2. 简单计算(如太阳位置)

简单的计算, 调用WebAssembly的间接费用占主导地位。 纯JS 这里速度更快.

环境摇篮-摇篮天文学引擎说明
浏览器 (Chrome)~319 000 行动/秒~57.7万行动/秒隐含的WASM vs 纯 JS
代诺( 本地)~178 000 行动/秒~ 434,000 行动/秒默认装入器

内容提要: 使用 swisseph-wasm 专业级占星学(精度+) 复杂速度). 使用 astronomy-engine 用于UI/可视化(低精度+) )),简单速度.

自己来跑吧

deno task bench
deno run -A benches/deno_throughput.ts
# For browser: Serve root and open benches/browser_bench.html

安装

德诺/JSR

deno add jsr:@fusionstrings/swisseph-wasm

Rust (货运)

用作本地的 Rust 箱子 :

cargo add swisseph-wasm

高级: 导入生WASM( Deno) :

import wasmBytes from "@fusionstrings/swisseph-wasm/wasm";
const module = new WebAssembly.Module(wasmBytes);

国家预防机制/节点.js

npm install @fusionstrings/swisseph-wasm

浏览器 (Zero-Config)

直接使用捆绑浏览器版本( 内含 WASM ) :

import { swe_julday } from "@fusionstrings/swisseph-wasm/browser";
// WASM initializes automatically

快速启动

import {
  SE_GREG_CAL,
  SE_MOON,
  SE_SUN,
  swe_calc_ut,
  swe_julday,
} from "@fusionstrings/swisseph-wasm";

// 1. Calculate Julian Day for Jan 1, 2000, 12:00 UTC
const jd = swe_julday(2000, 1, 1, 12.0, SE_GREG_CAL);
console.log(`Julian Day: ${jd}`); // 2451545.0

// 2. Calculate Sun Position
const sun = swe_calc_ut(jd, SE_SUN, 0);
console.log("Sun Longitude:", sun.longitude);

// 3. Calculate Moon Position
const moon = swe_calc_ut(jd, SE_MOON, 0);
console.log("Moon Longitude:", moon.longitude);

来源建筑

先决条件

  • 锈数字 : rustup target add wasm32-unknown-unknown
  • 德诺: 任务管理.
  • 萨尔瓦多: 编辑 C 库到 WASM 所需的.

macOS 用户数字 :

brew install llvm

构建命令

构建脚本自动检测出Homebrew LLVM.

deno task build

维修

版本管理

更新Deno、Cargo和国家预防机制的版本:

deno task bump-version <new-version>
# Example: deno task bump-version 1.2.3

此命令验证版本格式、 更新所有配置文件并同步 Cargo.lock。 。 。 .

许可证

MIT许可证。 根据瑞士Ephemeris(GPL/商业双重许可证). 说明: 使用该图书馆意味着遵守瑞士以弗梅里斯许可证条款.

版本与发布记录

@fusionstrings/swisseph-wasm 共发布 5 个版本,首次发布于 2026/01/07;过去 12 个月发布了 5 个版本。

版本发布日期距今
0.1.5latest2026/01/1310 个月前
0.1.42026/01/0710 个月前
0.1.4-pre.32026/01/0710 个月前
0.1.32026/01/0710 个月前
0.1.22026/01/0710 个月前

关于 @fusionstrings/swisseph-wasm 的常见问题

@fusionstrings/swisseph-wasm 是什么?

用于WebAssembly的高精度瑞士以弗梅里斯装订(基于Rust)

如何安装 @fusionstrings/swisseph-wasm?

在项目目录运行 npm install @fusionstrings/swisseph-wasm,或使用 pnpm add / yarn add / bun add。

@fusionstrings/swisseph-wasm 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@fusionstrings/swisseph-wasm 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@fusionstrings/swisseph-wasm 可以商用吗?

@fusionstrings/swisseph-wasm 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@fusionstrings/swisseph-wasm 的下载量有多少?

根据 npm 官方下载统计,@fusionstrings/swisseph-wasm 在 2026/10/16 – 2026/11/14 这 30 天内被下载 6,716 次,日均约 224 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@fusionstrings/swisseph-wasm 还在维护吗?

最新版本 0.1.5 发布于 2026/01/13(10 个月前);至今共发布 5 个版本,其中过去 12 个月发布了 5 个;首次发布于 2026/01/07。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。