lib.autoExternal
type AutoExternal =
  | boolean
  | {
      dependencies?: boolean;
      optionalDependencies?: boolean;
      devDependencies?: boolean;
      peerDependencies?: boolean;
    };
 
是否自动对不同依赖类型的依赖进行外部化处理,不将其打包。
对象类型
autoExternal.dependencies
是否自动外部化 dependencies 类型的依赖。
autoExternal.optionalDependencies
是否自动外部化 optionalDependencies 类型的依赖。
autoExternal.peerDependencies
是否自动外部化 peerDependencies 类型的依赖。
autoExternal.devDependencies
是否自动外部化 devDependencies 类型的依赖。
默认值
autoExternal 的默认值为 true,意味着以下依赖类型不会被打包:
dependencies 
optionalDependencies 
peerDependencies 
而以下依赖类型会被打包:
此配置等同于下面的对象类型:
export default {
  lib: [
    {
      format: 'esm',
      autoExternal: {
        dependencies: true,
        optionalDependencies: true,
        peerDependencies: true,
        devDependencies: false,
      },
    },
  ],
};
 
示例
自定义外部化的依赖类型
要禁用特定类型依赖的处理,你可以将 autoExternal 配置为一个对象,如下所示:
rslib.config.ts
export default {
  lib: [
    {
      format: 'esm',
      autoExternal: {
        dependencies: false,
        peerDependencies: false,
      },
    },
  ],
};
 
禁用默认行为
如果你想禁用默认行为,可以将 autoExternal 设置为 false:
rslib.config.ts
export default {
  lib: [
    {
      format: 'esm',
      autoExternal: false,
    },
  ],
};
 
关于第三方依赖处理的更多细节,请参考 处理第三方依赖。