# output.preserveModulesRoot

类型: string
CLI: --preserveModulesRoot <directory-name>

当 output.preserveModules 值为 true 时,输入模块的目录路径应从 output.dir 路径中剥离出来。

例如,给定以下配置:

export default {
	input: ['src/module.js', `src/another/module.js`],
	output: [
		{
			format: 'es',
			dir: 'dist',
			preserveModules: true,
			preserveModulesRoot: 'src'
		}
	]
};

preserveModulesRoot 设置确保输入的模块会输出到 dist/module.js 和 dist/another/module.js 路径。

在使用 @rollup/plugin-node-resolve 等插件时,这个选项特别有用,它可能导致输出目录结构的变化。当第三方模块没有标记为 external 时,或者在 monorepo 中多个包相互依赖时,没有标记为 external,都可能发生这种情况。

Last Updated: 6/14/2023, 8:56:23 AM