1.1.46 • Published 2 years ago
@yicode-helper/yite-chunk v1.1.46
vite-plugin-chunk-split
本插件改编自 vite-plugin-chunk-split
English | 中文
A vite plugin for better chunk splitting.
Usage
// use npm
npm i vite-plugin-chunk-split -D
// use yarn
yarn add vite-plugin-chunk-split -D
// use pnpm
pnpm i vite-plugin-chunk-split -D
Then you can use it in vite.config.ts:
// vite.config.ts
import { chunkSplitPlugin } from 'vite-plugin-chunk-split';
{
plugins: [
// ...
chunkSplitPlugin()
];
}
Options
type packageInfo = string | RegExp;
type Strategy =
// split by default
| 'default'
// all files will be together
| 'all-in-one'
// unbundle for your source files,vite will generate one chunk for every file
| 'unbundle';
export type CustomSplitting = Record<string, packageInfo[]>;
export interface ChunkSplitOptions {
strategy?: Strategy;
customSplitting?: CustomSplitting;
}
You can use the options to customize your splitting strategy, for example:
// vite.config.ts
import { chunkSplitPlugin } from 'vite-plugin-chunk-split';
{
plugins: [
// ...
chunkSplitPlugin({
strategy: 'single-vendor',
customChunk: (args)=>{
// files into pages directory is export in single files
let { file, id, moduleId, root } = args;
if(file.startsWith('src/pages/')){
file = file.substring(4);
file = file.replace(/\.[^.$]+$/, '');
return file;
}
return null;
}
customSplitting: {
// `react` and `react-dom` will be bundled together in the `react-vendor` chunk (with their dependencies, such as object-assign)
'react-vendor': ['react', 'react-dom'],
// Any file that includes `utils` in src dir will be bundled in the `utils` chunk
'utils': [/src\/utils/]
}
})
]
}
By the way, you can achieve bundleless by the unbundle
strategy:
// vite.config.ts
import { chunkSplitPlugin } from 'vite-plugin-chunk-split';
{
plugins: [
// ...
chunkSplitPlugin({
strategy: 'unbundle',
customSplitting: {
// All files in `src/container` will be merged together in `container` chunk
container: [/src\/container/]
}
})
];
}
License
MIT
1.1.29
2 years ago
1.1.28
2 years ago
1.1.30
2 years ago
1.1.34
2 years ago
1.1.33
2 years ago
1.1.32
2 years ago
1.1.31
2 years ago
1.1.38
2 years ago
1.1.36
2 years ago
1.1.35
2 years ago
1.1.39
2 years ago
1.1.40
2 years ago
1.1.45
2 years ago
1.1.44
2 years ago
1.1.43
2 years ago
1.1.42
2 years ago
1.1.27
2 years ago
1.1.26
2 years ago
1.1.46
2 years ago
1.1.25
2 years ago
1.1.24
2 years ago
1.1.23
2 years ago
1.1.22
2 years ago
1.1.21
2 years ago
1.1.20
2 years ago
1.1.19
2 years ago
1.1.17
2 years ago
1.1.16
2 years ago
1.1.15
2 years ago
1.1.14
2 years ago
1.1.9
2 years ago
1.1.8
2 years ago
1.1.7
2 years ago
1.1.6
2 years ago
1.1.5
2 years ago
1.1.4
2 years ago
1.1.3
2 years ago
1.1.2
2 years ago
1.1.1
2 years ago