close
  • 简体中文
  • lib.autoExtension

    • 类型: boolean
    • 默认值: true
    • 命令行: --auto-extension / --no-auto-extension

    是否根据 format 配置项自动设置 JavaScript 输出文件的扩展名。

    默认扩展名

    默认情况下,当 autoExtension 设置为 true 时,文件扩展名将会是:

    • package.json 中设置 type: module 时,esm 格式使用 .jscjs 格式使用 .cjs

    • package.json 中设置 type: commonjs 或没有 type 字段时,cjs 格式使用 .jsesm 格式使用 .mjs

    autoExtension 设置为 false 时,文件扩展名将默认为 .js

    自定义扩展名

    你可以将 autoExtension 设置为 false,并使用 output.filename 来自定义 JavaScript 输出文件。

    rslib.config.ts
    export default defineConfig({
      lib: [
        {
          format: 'cjs',
          autoExtension: false,
          output: {
            filename: {
              js: '[name].cjs',
            },
          },
        },
        {
          format: 'esm',
          output: {
            filename: {
              js: '[name].mjs',
            },
          },
        },
      ],
    });