我正在开发一个npm包,它使用rollup来捆绑并发布到NPM。我想了解一个依赖关系是否应该被汇总捆绑,最佳实践是什么。这是我一步一步的分析:
但这似乎不是一种预期的方式。对于“deps”中的任何依赖项,使用此包的项目将安装此依赖项,然后webpack可以处理和处理。rollup不需要将其放入包文件中。如果是这样的话,意味着我们需要让汇总来处理来自第三方的任何依赖项都是外部的?也许使用这个策略:
// https://github.com/remix-run/react-router/blob/v5.2.0/packages/react-router/rollup.config.js
function isBareModuleId(id) {
return (
!id.startsWith(".") && !id.includes(path.join(process.cwd(), "modules"))
);
}或者使用总结性-插件-点对点-外部
peerDepsExternal({
includeDependencies: true, // FIXME: 'deprecated', no idea why?
}),我想指出这里的最佳做法,希望有人能纠正我,如果任何一步的想法是不正确的。欢迎任何建议。
谢谢。
发布于 2021-08-26 14:03:34
我认为不仅'peerDependencies‘,而且’依赖‘应该是’外部‘,以汇总打包。您可以在配置中使用总结性-插件-点对点-外部:
peerDepsExternal({
includeDependencies: true
}),或者只使用条件反应路由器使用:
function isBareModuleId(id) {
return (
!id.startsWith(".") && !id.includes(path.join(process.cwd(), "modules"))
);
}它将标记/node_modules/下的所有deps的“外部”。
https://stackoverflow.com/questions/68916816
复制相似问题