• rollup-plugin-visualizer :依赖分析插件。
  • cross-env :命令行配置环境变量

安装 visualizer

  1. yarn add rollup-plugin-visualizer --dev

配置插件

build\plugin\visualizer.ts

  1. /**
  2. * 配置依赖包分析插件
  3. */
  4. import visualizer from 'rollup-plugin-visualizer'
  5. export default function configVisualizerConfig() {
  6. if (isReportMode()) {
  7. return visualizer({
  8. filename: './node_modules/.cache/visualizer/stats.html',
  9. open: true,
  10. gzipSize: true,
  11. brotliSize: true
  12. })
  13. }
  14. return []
  15. }
  16. function isReportMode(): boolean {
  17. return process.env.REPORT === 'true'
  18. }

配置 Vite

build\plugin\index.ts

  1. // ...
  2. import configVisualizerConfig from './visualizer';
  3. export function createVitePlugins(viteEnv: ViteEnv, isBuild: boolean, pkg: any) {
  4. // ...
  5. // rollup-plugin-visualizer
  6. vitePlugins.push(configVisualizerConfig())
  7. return vitePlugins
  8. }

安装 cross-env

  1. yarn add cross-env --dev

https://www.npmjs.com/package/cross-env
官网解释:
当您使用这样设置环境变量时,大多数 Windows 命令提示符都会阻塞 NODE_ENV=production。(例外是Bash on Windows,它使用本机 Bash。)同样,windows 和 POSIX 命令使用环境变量的方式也有所不同。在 POSIX 中,您使用:$ENV_VAR ,在 Windows 上,您使用%ENV_VAR%

简单讲就是,windows不支持NODE_ENV=development的设置方式,需要这个库来解决

cross-env能够提供一个设置环境变量的scripts,让你能够以unix方式设置环境变量,然后在windows上也能兼容运行。

编辑脚本

package.json

  1. {
  2. // ...
  3. "scripts": {
  4. // ...
  5. "report": "cross-env REPORT=true npm run build"
  6. // ...
  7. }
  8. // ...
  9. }

生成报告

  1. yarn report

image.png