# output.minifyInternalExports
类型: | boolean |
---|---|
CLI: | --minifyInternalExports/--no-minifyInternalExports |
默认: | 在 es、system 格式下或者 output.compact 值为 true 的情况下值为 true,否则为 false |
默认情况下,在 es、system 格式下或者 output.compact 值为 true 的情况下该选项值为 true,这意味着 Rollup 会尝试把内部变量导出为单个字母的变量,以便更好地压缩代码。
示例 输入:
// main.js
import './lib.js';
// lib.js
import('./dynamic.js');
export const importantValue = 42;
// dynamic.js
import { importantValue } from './lib.js';
console.log(importantValue);
output.minifyInternalExports: true 时,输出为:
// main.js
import './main-5532def0.js';
// main-5532def0.js
import('./dynamic-402de2f0.js');
const importantValue = 42;
export { importantValue as i };
// dynamic-402de2f0.js
import { i as importantValue } from './main-5532def0.js';
console.log(importantValue);
output.minifyInternalExports: false 时,输出为:
// main.js
import './main-5532def0.js';
// main-5532def0.js
import('./dynamic-402de2f0.js');
const importantValue = 42;
export { importantValue };
// dynamic-402de2f0.js
import { importantValue } from './main-5532def0.js';
console.log(importantValue);
该选项值为 true 时,尽管表面上会导致代码输出变大,但实际上,如果你使用了压缩工具,代码输出会更小。在这种情况下,export { importantValue as i } 理论上会被压缩成,比如 export{a as i},甚至是 export{i},但实际上输出的是 export{ a as importantValue },因为压缩工具通常不会改变导出签名。