@ascorbic/csv-loader

中文文档
2.0.3发布于 2024/10/28MITTypeScriptES Module近 30 天下载 6004

这个软件包为Astro提供了CSV加载器. 它允许您加载和剖析 CSV 文件,并使用您 Astro 站点中的数据,包括使用它生成页面.

中文使用文档
文档目录3 节
  1. 安装
  2. 使用量
  3. 选项

Astro CSV 加载器

这个软件包为Astro提供了CSV加载器. 它允许您加载和剖析 CSV 文件,并使用您 Astro 站点中的数据,包括使用它生成页面.

安装

npm install @ascorbic/csv-loader

使用量

这个包需要Astro 4.14.0或以后. 您必须启用Astro的实验内容层, 除非您正在使用5. 0.0- beta 版本或稍后使用 。 你可以这样做,在你的 astro.config.mjs数字 :

export default defineConfig({
  // ...
  experimental: {
    contentLayer: true,
  },
});

然后可以在内容配置中使用种子加载器 :

// src/content/config.ts
import { defineCollection } from "astro:content";
import { csvLoader } from "@ascorbic/csv-loader";

const customers = defineCollection({
  loader: csvLoader({
    fileName: "data/customers.csv",
  }),
  schema: z.object({
    customerID: z.number(),
    firstName: z.string(),
    lastName: z.string(),
    email: z.string(),
    age: z.number(),
    registrationDate: z.coerce.date(),
    purchaseAmount: z.number(),
  }),
});

export const collections = { customers };

然后,您可以在Astro中像其它内容收藏一样使用这些:

---
import type { GetStaticPaths } from "astro";
import { getCollection, type CollectionEntry } from "astro:content";
import Layout from "../../layouts/Layout.astro";

export const getStaticPaths: GetStaticPaths = async () => {
  const customers = await getCollection("customers");
  return customers.map((customer) => ({
    params: {
      id: customer.id,
    },
    props: { customer },
  }));
};

type Props = { customer: CollectionEntry<"customers"> };

const { customer } = Astro.props;
const { data } = customer;
---

<Layout title={data.firstName}>
  <h1>{data.firstName} {data.lastName}</h1>
  <p>{data.email}</p>
  <p>{data.registrationDate.toISOString()}</p>
</Layout>


选项

这个 csvLoader 函数使用具有以下属性的选项对象:

  • fileName: CSV 文件要加载的路径. 这应该是绝对的,或者相对于项目根.
  • transformHeader: 将标题值转换为字段名的函数。 默认情况下,这些值被骆驼化. 过 false 使数值保持不变.
  • idField:要用作标识的字段。 本列中的值必须是独一无二的. 如果头被改变, 它就是值 之后 转变。 默认为第一列.
  • parserOptions: 向 CSV 解析器传递了附加图案. 此天体会直接传递到PapaParse CSV库. 见 Papaparse 文档 更多信息.

版本与发布记录

@ascorbic/csv-loader 共发布 8 个版本,首次发布于 2024/08/11;过去 12 个月发布了 0 个版本。

版本发布日期距今
2.0.3latest2024/10/282 年前
2.0.22024/10/192 年前
2.0.12024/09/132 年前
2.0.02024/08/292 年前
1.0.02024/08/152 年前
0.0.32024/08/112 年前

关于 @ascorbic/csv-loader 的常见问题

@ascorbic/csv-loader 是什么?

这个软件包为Astro提供了CSV加载器. 它允许您加载和剖析 CSV 文件,并使用您 Astro 站点中的数据,包括使用它生成页面.

如何安装 @ascorbic/csv-loader?

在项目目录运行 npm install @ascorbic/csv-loader,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:astro(^4.14.0 || ^5.0.0-beta.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@ascorbic/csv-loader 支持 TypeScript 吗?

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

@ascorbic/csv-loader 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@ascorbic/csv-loader 可以商用吗?

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

@ascorbic/csv-loader 的下载量有多少?

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

@ascorbic/csv-loader 还在维护吗?

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