我最近在学习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
非常感谢~~~~~~~~~
答案 0 :(得分:0)
Webpack将开始在您'/'
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/'
},