看不到运行webpack的背景图片

时间:2016-12-09 13:10:34

标签: reactjs webpack

我最近在学习React并且在设置webpack时遇到了问题。我在sass文件中写了一个背景图片,但我在浏览器中看不到这个图像,我查看了开发工具,看到了一个奇怪的文件名,如图所示。运行webpack时没有错误。我想我可能会错误地设置webpack.config.js。有人可以看看我吗?这是源代码:

var path = require('path');
var webpack = require('webpack');
var HtmlWebpackPlugin = require('html-webpack-plugin');

module.exports = {
    entry: [
        'eventsource-polyfill',
        './src/index'
    ],
    output: {
        path: path.join(__dirname, 'dist'),
        filename: 'bundle.js',
        publicPath: '/'
    },
    module: {
        loaders: [
            {
                test: /.jsx?$/,
                loader: 'babel-loader',
                exclude: /node_modules/,
                query: {
                    presets: ['es2015', 'react']
                }
            },
            {
                test: /\.sass$/,
                loader: 'style!css?sourceMap!sass'
            },
            {
                test: /\.(jpg|gif|png)$/,
                loader: "file"
            },
            {
                test: /\.(jpg|gif|png)$/,
                loader: "url"
            }
        ]
    },
    plugins: [
        new HtmlWebpackPlugin({
            template: path.join(__dirname, 'src', 'index.html'),
            filename: 'index.html',
            inject: 'body',
        })
    ]
};

我还将我的文件放在github上:https://github.com/john650914/ReactQuestion.git

strange file name

非常感谢~~~~~~~~~

1 个答案:

答案 0 :(得分:0)

Webpack将开始在您'/'

中的 publicPath 设置的webpack.config.js处查找您的网址路径

使用您提供的链接查看您的存储库: https://github.com/john650914/ReactQuestion.git

您的图片似乎不在您的项目根目录中。您应指定导致存储资产的正确的publicPath。例如,如果您将图片存储在/src/assets/中,则 publicPath 应为./src/assets/,如下所示:

output: {
    path: path.join(__dirname, 'dist'),
    filename: 'bundle.js',
    publicPath: './src/assets/'
},