首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用<link>标记和HTMLWebpackPlugin加载CSS

用<link>标记和HTMLWebpackPlugin加载CSS
EN

Stack Overflow用户
提问于 2020-09-28 09:35:47
回答 1查看 2.2K关注 0票数 1

我想使用<link> (这很重要--我不想使用<style>)标记来加载外部CSS (来自npm依赖项)。我在用HTMLWebpackPlugin。

我试过这样的方法:

代码语言:javascript
复制
<link href="style!css!file!~@internal-scope/package-name/dist/some.css" rel="stylesheet" id="important-id">

但Webpack继续用[Object object]取代href。我认为这是Webpack试图使用esModules的原因吗?但是,当我用esModule关闭...!file?esModule=false!...时,会出现以下错误:

代码语言:javascript
复制
 Module not found: Error: Can't resolve './' in (...)

此外,我还试图只使用file-loader (正如@felixmosh所提议的那样)--仍然与上面的问题相同。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-28 09:52:42

在您的例子中,链接css-loaderstyle-loader并不相关。

css-loader加载css并传递带有选择器映射+ css字符串的对象style-loader注入css并返回相同的对象

因此,您可以得到[Object object]

尝试只使用file-loader,它返回带有静态文件路径的字符串,并将该文件发送到outputPath

代码语言:javascript
复制
<link href="!!file?esModule=false!~@internal-scope/package-name/dist/some.css" rel="stylesheet" id="important-id">
// ---------^ these !! are important to prevent from running rest of the loaders which are suitable from your config.

顺便问一下,为什么要将它直接注入模板,而不是在js中导入它,让HTMLWebpack来完成它呢?(默认情况下,将link标记注入到发出的 css文件中)

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64099569

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档