@dxup/nuxt

中文文档
0.5.11发布于 2026/11/05MITTypeScriptESM + CJS构建来源已验证近 30 天下载 948.2万

Nuxt 的脚本插件

中文使用文档
文档目录12 节
  1. 安装
  2. 使用量
  3. 特征
  4. 1. 构成部分
  5. 2. 从 Glob 导入
  6. 3. 被命名为LayoutSlots的卫星站
  7. 4. 硝基鲁特
  8. 5. 页面Meta
  9. 6. 运行时间
  10. 7. 打印页
  11. 8. 不进口
  12. 9. 非正式

@dxup/nuxt (英语)

version downloads license

这是改进了 Nuxt DX 的 TypeScript 插件.

[!注] 现在它是Nuxt的实验性内建特征. 请参看 文档 更多细节.

安装

使用 Nuxt 4.2 或以上时不需要安装.

使用量

  1. 有过 @dxup/unimport 如果您未启用此选项, 则安装为依赖 shamefullyHoist 选项.

  2. 在您的 nuxt.config.ts数字 :

    export default defineNuxtConfig({
      experimental: {
        typescriptPlugin: true,
      },
      dxup: {
        features: {
          // Enable opt-in features
          namedLayoutSlots: true,
        },
      },
    });
    
  3. 运行 nuxt prepare 并重新启动 tserver .

特征

1. 构成部分

重命名自动导入组件文件时更新引用 .

例如,重命名时 components/foo/bar.vue 改为 components/foo/baz.vue,所有用途 <FooBar /> 将更新到 <FooBaz />。 。 。 .

它只有在dev服务器活动时才有效.

2. 从 Glob 导入

使用 glob 模式定义动态导入 .

import(`~/assets/${name}.webp`);
//     ^^^^^^^^^^^^^^^^^^^^^^^
import.meta.glob("~/assets/*.webp");
//               ^^^^^^^^^^^^^^^^^

3. 被命名为LayoutSlots的卫星站

默认 : false

在页面中写入顶级命名槽 :

<!-- layouts/center.vue -->
<template>
  <slot />
  <slot name="side" one="one"/>
</template>
<!-- pages/about.vue -->
<script lang="ts" setup>
  definePageMeta({
    layout: "center",
  });
</script>

<template>
  <template #side="{ one }">
    This "{{ one }}" comes from the layout slot.
    <!--     ^^^ -->
  </template>
  <div>About Page</div>
</template>

并将自动传送到活动布局.

布局可以访问活动页面随所导入的自动传送的槽 useLayoutSlots 可堆叠 :

<!-- layouts/center.vue -->
<script lang="ts" setup>
  const slots = useLayoutSlots();
</script>

<template>
  <slot/>
  <aside v-if="slots.side">
    <slot name="side"/>
  </aside>
</template>

4. 硝基鲁特

在数据获取方法中去定义硝基线.

useFetch("/api/foo");
//       ^^^^^^^^^^
// Also `$fetch` and `useLazyFetch`.

解析 URL 会退后 public 无法匹配硝基路由时的目录.

5. 页面Meta

转到页面元数据的定义 .

definePageMeta({
  layout: "admin",
  //      ^^^^^^^
  middleware: ["auth"],
  //           ^^^^^^
});

6. 运行时间

转到运行时配置的定义 .

<template>
  {{ $config.public.domain }}
  <!--              ^^^^^^ -->
</template>

7. 打印页

转到打入页面的定义 .

<template>
  <nuxt-link :to="{ name: `about` }"/>
  <!--                    ^^^^^^^ -->
</template>

它可以被触发在 name 受下列条件限制的对象的属性: RouteLocationRaw 类型.

8. 不进口

请参看 @ dxup/ 未导入 软件包,以获取更多细节.

9. 非正式

在 <template>。 。 。 .

....<template>
<!-- ^^^^^^^^ -->
</template>

版本与发布记录

@dxup/nuxt 共发布 27 个版本,首次发布于 2025/09/25;过去 12 个月发布了 17 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.5.11latest2026/11/058 天前
0.5.102026/08/222 个月前
0.5.92026/08/202 个月前
0.5.82026/08/172 个月前
0.5.72026/08/142 个月前
0.5.62026/08/033 个月前

关于 @dxup/nuxt 的常见问题

@dxup/nuxt 是什么?

Nuxt 的脚本插件

如何安装 @dxup/nuxt?

在项目目录运行 npm install @dxup/nuxt,或使用 pnpm add / yarn add / bun add。

@dxup/nuxt 支持 TypeScript 吗?

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

@dxup/nuxt 支持 ESM 还是 CommonJS?

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

@dxup/nuxt 可以商用吗?

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

@dxup/nuxt 的下载量有多少?

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

@dxup/nuxt 还在维护吗?

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