You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何控制Rollup生成文件的输出位置?调整HTML输出至dist根目录

Rollup输出目录结构调整方案

问题描述

源目录结构:

-- browser/
       client.html
       client.js

当前Rollup执行后生成的文件结构:

-- dist/
       browser/
          client.html
       assets/
          client-7878f.js

期望的输出结构:

-- dist/
       client.html
       assets/
          client-7878f.js

当前使用的Rollup配置片段:

{
   input: 'browser/client.html',
}

解决方案

核心是调整Rollup的输出配置,让HTML文件直接输出到dist根目录,同时保留JS资源在assets目录的结构。

步骤1:安装HTML处理插件

如果还没安装处理HTML输入的插件,先执行安装命令:

npm install @rollup/plugin-html --save-dev

步骤2:修改Rollup配置

在配置中添加output选项和HTML插件配置,指定HTML文件的输出路径:

import html from '@rollup/plugin-html';

export default {
  input: 'browser/client.html',
  output: {
    dir: 'dist',
    assetFileNames: 'assets/[name]-[hash][extname]' // 固定JS资源输出到assets目录
  },
  plugins: [
    html({
      fileName: 'client.html' // 让HTML直接输出到dist根目录
    })
  ]
};

说明

  • output.dir指定打包输出的根目录为dist;
  • assetFileNames配置确保JS等资源文件生成到assets目录,并保留哈希命名规则;
  • html插件的fileName参数直接指定输出的HTML文件名,省略原有的browser层级,从而让文件生成在dist根目录下。

如果你的项目使用其他HTML处理插件,核心思路都是取消HTML文件输出时的原目录前缀,直接指定输出到dist根目录即可。

内容的提问来源于stack exchange,提问作者TrevTheDev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 02:25:15