我在src文件夹中有几张图片:
src/img/favicon.png
src/img/profpic.png
在index.html文件中,我将指向
<link rel="shortcut icon" href="img/favicon.png" />
在某些html文件中,我将指向
<img src="img/profpic.png" />
我正在尝试通过webpack加载图片,字体。下面是我的webpack.config
module.exports = {
context: path.resolve('src'),
entry: {
app: ["./index.ts"]
},
output: {
path: path.resolve('build'),
filename: "appBundle.js"
},
devServer: {
contentBase: 'src'
},
watch: true,
module: {
preLoaders: [
{
test: /\.ts$/,
loader: "tslint"
}
],
loaders: [
{test: /\.ts(x?)$/, exclude: /node_modules/,loaders: ['ng-annotate-loader','ts-loader']},
{
test: /\.css$/,
loader: 'style-loader!css-loader'
},
{
test: /\.scss$/,
loader: 'style!css!sass'
}, {
test: /\.html$/,
exclude: /node_modules/,
loader: 'raw'
}, {
test: /\.woff(2)?(\?v=[0-9]\.[0-9]\.[0-9])?$/,
loader: 'url-loader?limit=1000000&mimetype=application/font-woff'
}, {
test: /\.(ttf|eot|svg)(\?v=[0-9]\.[0-9]\.[0-9])?$/,
loader: 'file-loader'
}, {
test: /\.json$/,
loader: "json-loader"
}, {
test: /\.(png|jpg)$/, loader: 'url-loader?limit=8192'
}
];
}
plugins: [
new HtmlWebpackPlugin({
template: './index.html',
inject: 'body',
hash: true
}),
new webpack.ProvidePlugin({
$: 'jquery',
jQuery: 'jquery',
'window.jQuery': 'jquery',
'window.jquery': 'jquery'
})
],
resolve: {
extensions: ['', '.js', '.es6', '.ts']
}
}
尝试将图像/字体加载到webpack输出文件夹。它没有抛出任何错误。它成功构建但在构建中,这是我的webpack输出文件夹字体加载正常但图像没有加载
答案 0 :(得分:3)
将原始加载器更改为HTML的html加载器完成了这个技巧。以下是我的更改
{test: /\.ts(x?)$/, exclude: /node_modules/,loaders: ['ng-annotate-loader','ts-loader']},
{
test: /\.css$/,
loader: 'style-loader!css-loader'
},
{
test: /\.scss$/,
loader: 'style!css!sass'
}, {
**test: /\.html$/,
exclude: /node_modules/,
loader: 'html-loader'**
}, {
test: /\.woff(2)?(\?v=[0-9]\.[0-9]\.[0-9])?$/,
loader: 'url-loader?limit=1000000&mimetype=application/font-woff'
}, {
test: /\.(ttf|eot|svg)(\?v=[0-9]\.[0-9]\.[0-9])?$/,
loader: 'file-loader'
}, {
test: /\.json$/,
loader: "json-loader"
}, {
**test: /\.png$/,
exclude: /node_modules/,
loader: 'file-loader?name=images/[name].[ext]'**
}