【问题标题】:How to bundle images using webpack?如何使用 webpack 打包图片?
【发布时间】:2017-05-23 12:32:51
【问题描述】:

我正在使用 webpack 模块捆绑器制作一个 angular2 应用程序。现在我添加了文件加载器,用于加载 jpg、gif、png 等图像文件。但是当我运行构建命令时,图像文件没有被捆绑。这是我的配置:

webpack.config.js (仅限图像加载器配置)

{
    test: /\.(png|jpe?g|gif|svg|woff|woff2|ttf|eot|ico)(\?v=.+)?$/,
    loader: 'file-loader?name=assets/[name].[hash].[ext]'
},

我在我的 html 模板中包含了一个文件夹中的图像,如下所示:

<img src="/asset/img/myImg.png"/>

在我的 css 中:

#myBackground {
    background: background: #344556 url(/assets/img/background.jpg) center/cover;
}

但是当我构建整个应用程序时,图像并没有像我在 webpack 配置中指定的那样放在 assets 文件夹中。

现在最奇怪的是字体使用相同的配置,并且它们是在资产文件夹中创建的。这是我在 style.css 中包含字体的 CSS:

@font-face {
    font-family: 'robotolight';
    src: url("../fonts/roboto-light-webfont.eot");
    src: url("../fonts/roboto-light-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/roboto-light-webfont.woff2") format("woff2"), url("../fonts/roboto-light-webfont.woff") format("woff"), url("../fonts/roboto-light-webfont.ttf") format("truetype"), url("../fonts/roboto-light-webfont.svg#robotolight") format("svg");
    font-weight: normal;
    font-style: normal;
 }

此字体的所有文件,如 svgs、ttf、woff 等,都可以在运行构建后在 assets 文件夹中找到。

谁能告诉我为什么没有在资产文件夹中创建图像但字体文件是使用相同的配置/加载器创建的。

【问题讨论】:

    标签: html css webpack webpack-file-loader


    【解决方案1】:

    可能与 this 重复

    缺少一些加载器(extract-loader 和 html-loader)

    否则,如果这些静态资源直接包含在 HTML 中,您可以尝试通过 handy webpack plugin 手动复制这些资源

    【讨论】:

    • 将文件从 src 复制到 dist 对我有用(车把模板)
    猜你喜欢
    • 2016-03-28
    • 1970-01-01
    • 2019-03-25
    • 2019-06-11
    • 2018-11-30
    • 1970-01-01
    • 1970-01-01
    • 2018-04-17
    • 2019-03-22
    相关资源
    最近更新 更多