webpack将CSS内联为JS bundle

时间:2016-04-25 11:10:25

标签: javascript webpack

我一直在阅读关于webpack的内容,我终于得到了webpack基本上做的事情。我也需要webpack的许多高级功能。所以我尽可能多地学习webpacks功能。

所以,我正在阅读webpack的另一个很好的资源。但是,当我提供此页面的github wiki链接时,它会说出我无法获得的内容。

  

当您需要CSS(或更少等)时,webpack将CSS内联为JS包中的字符串,require()将在页面中插入标记。当您需要图像时,webpack会将图像的URL内联到bundle中,并从require()返回。

来源的链接是 webpack-howto | Stylesheets and images

我希望有人能帮助我清除这一部分。

1 个答案:

答案 0 :(得分:2)

我们假设您有myStyle.css内容:

.something { color: red; }

当您(在.js文件中)执行以下操作时:

require('./myStyle.css');

然后Webpack将读取该样式文档并将其输出到HTML文档的<style>标记中,例如

<html>
<body>
    <style>
        .something { color: red; }
    </style>
</body>
</html>

与图像相同。如果你在你的js做:

const imageUrl = require('/path/to/your/image');

然后,Webpack将确保将该图像复制到您的build / dist文件夹中,并且它具有唯一的名称(例如15be437 ......)。并且您的imageUrl变量将设置为该唯一名称。

所有这些都是可配置的。你可以make Webpack output a regular .css file而不是内联它。您可以将图像制作成Base64图像等。