@cloudcannon/remark-auto-import

中文文档
1.0.1发布于 2023/05/16MITES Module近 30 天下载 4562

自动导入组件的标记插件

中文使用文档
文档目录3 节
  1. 选项
  2. 天体
  3. 下一个.js

自动进口

MDX 中自动导入组件的注释插件 .

使用量

此插件搜索组件文件目录, 然后在您的 MDX 构建过程中自动生成默认导入 . 这意味着您的内容编辑器可以自由并移除MDX中的组件,而不必担心不断更新进口.

要使用此插件, 请把它提供给您的 MDX 引擎 remarkPlugins 矩阵,并提供选项对象包含要搜索的目录列表和要导入的文件的 glob 模式.

选项

type Options = {
  directories: Array<string>;
  patterns: Array<string>;
  name?: (path: string): string;

  additionals: Array<{
    importPath: string;
    defaultImport: string;
    namedImports: Array<{ name: string; alias?: string }>;
  }>;
};

directories: 要搜索要导入的文件的目录名称序列.

patterns: 数组 快速块 要导入文件的样式.

name: 一个可选函数,它取出要导入的文件的绝对路径并返回该文件默认导入的标识符。 默认使用文件名, 例如 /path/to/Component.jsx 导入为 Component,生成的导入将 import Component from "/path/to/Component.jsx"。 。 。 .

additional: 指定额外固定导入的一组对象:

  • importPath: 要导入的文件的路径 。 这将被插入为- is, 因此建议使用软件包名称或绝对路径 .

  • defaultImport: 用于默认导入的标识符.

  • namedImports: 指定命名导入对象的一组:

    • name: 要导入的项目的标识符
    • alias: 一个可选的标识符,用于别名导入到 as。 。 。 .

所以,一个额外的导入与结构 { importPath: "package", defaultImport: "default", namedImports: [{name: "named", alias: 'alias'}]} 将输入为 import default, {named as alias} from "package"。 。 。 .

这也可以用于仅具有副作用的导入,如CSS文件,不指定任何默认或已命名的导入,即: { importPath: "/path/to/styles.css" }。 。 。 .

配置示例

天体

//astro.config.mjs

import { defineConfig } from "astro/config";

import mdx from "@astrojs/mdx";
import remarkAutoImport from "@cloudcannon/remark-auto-import";

// https://astro.build/config
export default defineConfig({
  integrations: [mdx()],
  markdown: {
    remarkPlugins: [
      [
        remarkAutoImport,
        {
          directories: ["src/components"],
          patterns: ["*.*"],
        },
      ],
    ],
    extendDefaultPlugins: true,
  },
});

下一个.js

//next.config.mjs

import remarkFrontmatter from "remark-frontmatter";
import remarkAutoImport from "@cloudcannon/remark-auto-import";
import nextMDX from "@next/mdx";

const withMDX = nextMDX({
  extension: /\.mdx?$/,
  options: {
    remarkPlugins: [
      remarkFrontmatter,
      [
        remarkAutoImport,
        {
          directories: ["components"],
          patterns: ["*.js"],
        },
      ],
    ],
  },
});

const nextConfig = {
  // Configure pageExtensions to include md and mdx
  pageExtensions: ["ts", "tsx", "js", "jsx", "md", "mdx"],
  // Optionally, add any other Next.js config below
  reactStrictMode: true,
  images: { unoptimized: true },
};

export default withMDX(nextConfig);

版本与发布记录

@cloudcannon/remark-auto-import 共发布 2 个版本,首次发布于 2023/03/24;过去 12 个月发布了 0 个版本。

版本发布日期距今
1.0.1latest2023/05/163 年前
1.0.02023/03/243 年前

关于 @cloudcannon/remark-auto-import 的常见问题

@cloudcannon/remark-auto-import 是什么?

自动导入组件的标记插件

如何安装 @cloudcannon/remark-auto-import?

在项目目录运行 npm install @cloudcannon/remark-auto-import,或使用 pnpm add / yarn add / bun add。

@cloudcannon/remark-auto-import 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/cloudcannon__remark-auto-import 是否存在。

@cloudcannon/remark-auto-import 支持 ESM 还是 CommonJS?

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

@cloudcannon/remark-auto-import 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=14.16。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@cloudcannon/remark-auto-import 可以商用吗?

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

@cloudcannon/remark-auto-import 的下载量有多少?

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

@cloudcannon/remark-auto-import 还在维护吗?

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