webpack 如何更改babel-loader的缓存目录?

yv5phkfx  于 2022-11-13  发布在  Webpack
关注(0)|答案(1)|浏览(356)

我正在使用react-app-rewired,这是我的config-overrides.js

const { getBabelLoader } = require('customize-cra');

module.exports = {
  webpack: (config, env) => {
    getBabelLoader(config).options.cacheDirectory = 'babel-cache';
    return config;
  }
};

我正在尝试更改一个babel加载程序缓存目录。babel-cache目录已创建,但其大小仅为1.5 Mb。node_modules/.cache/babel-loader的大小为106 Mb。
是否可以只将缓存保存到指定的文件夹中?
实际上我正在尝试提高一个持续集成过程的性能。问题是npm ci命令清除了node_modules/.cache文件夹。GitLab CI/CD从头开始构建项目。也许有可能以某种方式保留node_modules/.cache

2uluyalo

2uluyalo1#

你不能,至少我不能从文档中判断。你必须创建一个功能请求或构建后脚本来移动所说的缓存。
根据文件:
cacheDirectory:默认值false。设置后,给定的目录将用于缓存加载程序的结果。以后的webpack构建将尝试该高速缓存中读取,以避免每次运行时都需要运行可能开销很大的Babel重新编译过程。如果在options中将该值设置为true({cacheDirectory: true}),加载程序将使用node_modules/.cache/babel-loader中的默认高速缓存目录,或者如果在任何根目录中都找不到node_modules文件夹,则回退到默认的操作系统临时文件目录。
因此,它要么是node_modules/.cache/babel-loader,要么是操作系统缓存目录。
也许你可以用客户加载器做一些事情,但我不确定。

相关问题