javascript - Webpack:从内联样式加载图像(背景图像)

标签 javascript webpack webpack-2 webpack-html-loader

我在使用 webpack 加载图像时遇到问题。

当我在 html 页面上使用图像标签时,一切正常:

 <img src="../../content/images/logo.png">

但我也需要使用内联样式:
<div style="background-image: url('../../content/images/logo.png')">

在这种情况下,webpack 不会解析图像并将字符串留在 url() 中。原封不动。

网络包配置:
        module: {
        rules: [
            { test: /bootstrap\/dist\/js\/umd\//, loader: 'imports-loader?jQuery=jquery' },
            {
                test: /\.ts$/,
                loaders: [
                    'angular2-template-loader',
                    'awesome-typescript-loader'
                ],
                exclude: ['node_modules/generator-jhipster']
            },
            {
                test: /\.html$/,
                loader: 'html-loader',
                options: {
                    minimize: true,
                    caseSensitive: true,
                    removeAttributeQuotes:false,
                    minifyJS:false,
                    minifyCSS:false
                },
                exclude: ['./src/main/webapp/index.html']
            },
            {
                test: /\.scss$/,
                loaders: ['to-string-loader', 'css-loader', 'sass-loader'],
                exclude: /(vendor\.scss|global\.scss)/
            },
            {
                test: /(vendor\.scss|global\.scss)/,
                loaders: ['style-loader', 'css-loader', 'postcss-loader', 'sass-loader']
            },
            {
                test: /\.css$/,
                loaders: ['to-string-loader', 'css-loader'],
                exclude: /(vendor\.css|global\.css)/
            },
            {
                test: /(vendor\.css|global\.css)/,
                loaders: ['style-loader', 'css-loader']
            },
            {
                test: /\.(jpe?g|png|gif|svg|woff2?|ttf|eot)$/i,
                loaders: ['file-loader?hash=sha512&digest=hex&name=/images/[hash].[ext]']
            }
        ]
    },

如果有人可以帮助我解决这个问题,我将不胜感激。

最佳答案

您可能需要带有 interpolation flag enabled 的“html”文件:

require("html-loader?interpolate!./your-file.html");

...然后需要您的内联样式背景图像,例如:
<div style="background-image: url('${require(`../../content/images/logo.png`)}')">

关于javascript - Webpack:从内联样式加载图像(背景图像),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44096749/

相关文章:

javascript - 在 webpack 2 配置中包含纯 JavaScript 文件

javascript - 数组不兼容 JavaScript

javascript - 如何循环访问存储在mysql中的用户图库图片

javascript - webpack 使用什么方法在开发工具中显示 'webpack://' 文件夹中的源?

node.js - webpack 不断询问,您想安装哪一个(webpack-cli/webpack-command)

angular - 使用 Typescript 使用 Webpack 动态加载模块

css - PostCSS 和 Webpack 配置

javascript - 美味的 JSON 列表问题

javascript - jquery mobile 将我的屏幕大小设置为 100%

css - 使 webpack 有条件地加载附加或替代 css 文件