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