我正在开发一个NPM包,它使用rollup绑定并发布到NPM。我想了解一个依赖项是否应该通过汇总绑定,最佳实践是什么。以下是我的逐步分析:
>
“src”中使用的每个依赖项都应该添加到“deps”或“peerDeps”中
如果您选择只将其放在“peerDeps”中,而不是“deps”,考虑到本地构建目的,最好添加到“devDeps”。否则,您可能必须使用第三方工具在“peerDeps”中安装依赖项,或者升级到npm@7(我不用npm@7然而)我猜这部分有争议,但这个话题并不是关于“peerDeps”,所以让我们继续。
如果“外部”配置中未排除“src”中使用的所有依赖项,则汇总将对其进行捆绑。默认情况下,它不在乎依赖关系是否在“deps”或“peerDeps”或“devDeps”中提及。
但这似乎不是预期的方式。对于“deps”中的任何依赖项,使用此软件包的项目将安装此依赖项,然后webpack可以处理和处理。rollup不需要将其放入bundle文件中。如果是这样,意味着我们需要让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"))
);
}
或者使用rollup插件peer deps external:
peerDepsExternal({
includeDependencies: true, // FIXME: 'deprecated', no idea why?
}),
我想在这里指出最好的做法,如果有任何想法不正确,希望有人能纠正我。欢迎任何建议。
谢谢
我认为不仅“对等依赖项”,而且“依赖项”应该是“外部”的,以便汇总到bundle。您可以使用具有以下配置的汇总插件peer deps external:
peerDepsExternal({
includeDependencies: true
}),
或者只使用以下条件:
function isBareModuleId(id) {
return (
!id.startsWith(".") && !id.includes(path.join(process.cwd(), "modules"))
);
}
它将标记'外部'的所有deps下 /node_modules/
我正在使用Rollup绑定一个JS库。这个库依赖于@tensorflow/tfjs-core。 在tfjs的代码中,有一个获取URL的函数。如果它在浏览器环境中,它会使用全局函数;如果不是,它会尝试导入。 以下几行: 我的库是在浏览器中运行的,所以它总是使用全局函数。然而,Rollup仍然绑定了my lib的资产中的。 这不应该是一个问题,但一些消费者在使用webpack的React项目中使用库时
问题内容: 我需要编写一个查询,该查询从表中返回汇总和非汇总数据。 下面的示例应有助于阐明我要执行的操作。我有以下(简化)表: 为了便于讨论,假设每个学生都属于一个课程组。我想编写一个查询,该查询将返回如下结果集: student.name,student.weight,weight_apgaw,weight_apgh 在哪里: weight_apgaw: 是单个学生的体重,表示为他/她所属课程组
本文向大家介绍coffeescript使用的方式汇总,包括了coffeescript使用的方式汇总的使用技巧和注意事项,需要的朋友参考一下 Coffeescript作为Javascript低调的小弟实在是有过人之处,使用它可以增进开发效率,减少代码错误, 关键是能大幅提升开发愉悦感。我越来越觉得只要可能就在自己的项目中把coffee用起来。 然而也许你和我一样,在了解完coffeescript的语
我正在尝试使用rollup导入fire baseui库。如果我将firbaseui包含在他们提供的cdn中,用户界面加载良好: 但是,如果我尝试使用导入它,我会在浏览器中遇到以下错误:
本文向大家介绍javascript的BOM汇总,包括了javascript的BOM汇总的使用技巧和注意事项,需要的朋友参考一下 setTimeout() //延时器,只执行一次代码 clearTimeout() //清除演示器 setIntervla() //定时器,根据指定时间间隔执行一次代码 clearInterval() //清除定时器 window.history.length
问题内容: 我想从数字列表中获得一个总计。 出于演示目的,我先使用 产量 如您所见,我初始化一个空列表,然后在每个循环迭代中。有没有更优雅的方法,例如列表理解? 问题答案: 列表推导没有很好的方法(干净,可移植)来引用其正在构建的列表。一种好的,优雅的方法可能是在生成器中完成该工作: 要获得此列表,当然可以使用。