gpt4 book ai didi

javascript - 如何在编译es2015库时将CSS注入(inject)javascript文件

转载 作者:行者123 更新时间:2023-11-28 14:18:17 25 4
gpt4 key购买 nike

我正在开发一些 React UI 库,我想使用一些第三方组件作为我自己的可配置组件的基础。

此第三方组件需要将样式文件包含到 HTML 中(default.css 和 theme.css)

我不能这样做,因为它应该是一个没有任何 css 等的已编译 javascript 库。所以用户应该只导入一个 js 文件,而不需要将 css 复制/包含到他们的 html 中。

我不能使用 Styled Component 或 JSS 等,因为我不想重写第三方组件的整个代码以将所有必要的类插入到标签中。

所以我知道 webpack 可以从文件中提取样式,将它们转换为字符串并插入到 HTML 文档中,但我不能这样做,因为 webpack 会创建一个巨大的编译文件,所以我正在使用 Babel。

那么是否存在从文件中提取 css 并将其转换为脚本的可能性,当用户导入此已编译的 javascript 组件时,此脚本应执行并将 css 插入 HTML 页面?

感谢您的帮助

最佳答案

不确定这是否有帮助,但仅使用 js,注入(inject)样式表如下。注意 template string 的用法(反引号,不是强制性的,但在这里更容易),样式将在文档的底部,但这是 adjustable as need .

const css = `
body {background:red}
`

let link = document.createElement("style")
link.rel = "stylesheet"
link.type = "text/css"
link.textContent = css

document.body.appendChild(link)
<body>
</body>

关于javascript - 如何在编译es2015库时将CSS注入(inject)javascript文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55569482/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com