# 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,都可能发生这种情况。