@kokojs/plugin-dll

通过 @kokojs/plugin-dll 可以构建 DLL 文件,提升代码编译速度。

Usage no npm install needed!

<script type="module">
  import kokojsPluginDll from 'https://cdn.skypack.dev/@kokojs/plugin-dll';
</script>

README

DLL 插件

通过 @kokojs/plugin-dll 可以构建 DLL 文件,提升代码编译速度。

安装

yarn add @kokojs/plugin-dll --dev

配置项

name

  • Type: string
  • Default: undefined

DLL 文件名称。

include

  • Type: string[]
  • Default: []

打包到 DLL 中的模块名称列表。

cacheKey

  • Type: string
  • Default: undefined

缓存标识符,当缓存标识符未发生变化时,会跳过 DLL 的编译过程,直接复用上次编译结果。

通过执行 npx koko clean 可以清除缓存。

prodCache

  • Type: boolean
  • Default: false

是否启用生产环境缓存。

未启用该选项时,缓存只会在 dev 模式下生效,启用后 prod 模式也会走缓存。使用该选项时,需要确保 cacheKey 能正确唯一标识 DLL 的内容。

示例

配置单个 DLL

koko.config.js 中添加如下配置:

module.exports = {
  plugins: {
    dll: {
      name: 'common',
      include: ['@youzan/a', '@youzan/b'],
    },
  },
};

Tips: 配置 DLL 后,需要在 HTML 中引入对应的 JS 文件。

配置多个 DLL

可以通过数组的形式配置多个 DLL,按照数组顺序进行构建。

module.exports = {
  plugins: {
    dll: [
      {
        name: 'common',
        include: ['@youzan/a', '@youzan/b'],
      },
      {
        name: 'common2',
        include: ['@youzan/c', '@youzan/b'],
      },
    ],
  },
};

DLL 依赖关系

当项目中有多个 DLL 时,会按照顺序依次打包,先打包的 DLL 作为后打包 DLL 的依赖。

维护者

陈嘉涵。