webpack(3)-管理资源

时间:2024-08-24 17:04:08

管理资源:(file-loader 和 url-loader 可以接收并加载任何文件,然后将其输出到构建目录)

  • 加载css:style-loader、css-loader

以style的形式插入到head中去了

webpack(3)-管理资源

  • 加载images: file-loader

在index.js页面import进来,在dist目录下生成XXXXXXXXX.png

webpack(3)-管理资源

在style.css中png设为背景,打包之后png的名称也变了:

webpack(3)-管理资源

  • 加载fonts字体: file-loader、url-loader

//style.css
@font-face{
font-family: 'MyFont';
src: url('./singlemalta-webfont.woff') format('woff'),
url('./singlemalta-webfont.woff2') format('woff2');
font-weight: 400;
font-
style: normal;
}
.hello{
color: red;
font-family: 'MyFont';
background: url('./icon.png')
}

webpack(3)-管理资源

  • 加载数据(JSON文件、csv、TSV、XML):csv-loader、xml-loader(见官网)

附上webpack.config.js

const path = require('path')
module.exports = {
mode: 'development',
entry: {
index: './src/index.js',
},
output: {
filename: 'bundle.js',
//它决定 non-entry chunk(非入口 chunk) 的名称
// chunkFilename: '[name].chunk.js',
path: path.resolve(__dirname, 'dist')
},
module: {
rules: [
//webpack 根据正则表达式,来确定应该查找哪些文件,并将其提供给指定的 loader。在这个示例中,所有以 .css 结尾的文件,都将被提供给 style-loader 和 css-loader。
{
test: /\.css$/,
use: [
'style-loader',
'css-loader'
]
},
{
test: /\.(png|jpg|gif|svg)$/,
use: [
'file-loader'
]
},
{
test: /\.(woff|woff2|eot|ttf|otf)$/,
use: [
'file-loader'
]
}
]
}
}