Uri*_*lar 3 bundle rollup sass reactjs rollupjs
我有一个需求,我不确定是否可以使用 Rollup(或使用 Webpack?)
我写了一个 React 组件库。每个组件都导入它的样式表。就像是
import "./button.scss"
export default function Button() {
...
}
Run Code Online (Sandbox Code Playgroud)
现在,这些 scss 文件使用我想在全局文件中定义的各种 sass 变量。我希望我的图书馆的使用者能够Button
像这样导入:
import { Button } from "mylib"
甚至更好:
import Button from "mylib/button"
并且只将所需的代码Button
添加到我的库中。
我一生都无法弄清楚/谷歌如何实现这一目标。
是否有对使用 sass 和 sass 变量的可摇树 React 组件库的良好参考?
额外问题:我有一些第三方 css,只有部分组件需要。所以,如果每个组件的 scss 文件都导入:
@import "~some-third-party-css-lib.css"
Rollup 会复制那个 css 吗?或者是否有某种去重机制?
谢谢!
小智 5
据我所知(2020 年 2 月),为组件库实现良好的摇树结果的唯一选择是:
import Button from "mylib/button"
)。这是因为大多数打包程序都认为 css 导入是副作用,并且很难(甚至不可能)判断实际使用了哪些类。因此,如果您的库中有一个重新导出所有组件的索引,这会导致所有 css 被导入并可能被捆绑。这有一些应该考虑的影响。
到目前为止,我不知道一个支持完整的 tree-shaking(包括 css)同时也不给消费应用程序带来额外复杂性的解决方案。但我目前仍在调查这个话题,如果我发现一些有趣的东西,我会在这里发布更新。
归档时间: |
|
查看次数: |
643 次 |
最近记录: |