一,打包图片文件

1file-loader

npm install --save-dev file-loader

默认情况下,生成的文件的文件名就是文件内容的 MD5 哈希值并会保留所引用资源的原始扩展名。

import img from './file.png'
webpack.config.js

module.exports = {
  module: {
    rules: [
      {
				test: /\.(png|jpg|gif|jpeg|png|svg)$/,
				use: [{
					loader: 'file-loader',
					options: {
						name: '[path][name].[ext]',//图片名成
						publicPath: 'assets/img/'//路径
					}
				}]
			}
    ]
  }
}

生成文件 file.png,输出到输出目录并返回 public URL。

"/public/path/0dcbbaa7013869e351f.png"

2.url-loader

npm install --save-dev url-loader

url-loader 功能类似于 file-loader,但是在文件大小(单位 byte)低于指定的限制时,可以返回一个 DataURL。

import img from './image.png'
webpack.config.js

module.exports = {
  module: {
    rules: [
     {
				test: /\.(png|jpg|gif|jpeg|png|svg)$/,
				use: [{
					loader: 'file-loader',
					options: {
						limit: 8192,
						name: '[path][name].[ext]',//图片名成
						publicPath: 'assets/img/'//路径
					}
				}]
			}
    ]
  }
}

3.css打包

1.css-loader

npm install --save-dev css-loader

2.style-loader

npm install style-loader --save-dev

建议将 style-loader 与 css-loader 结合使用

import style from './file.css'
{
  module: {
    rules: [
      {
        test: /\.css$/,
        use: [
          { loader: "style-loader" },
          { loader: "css-loader" }
        ]
      }
    ]
  }

}

4.打包stylus文件

CSS 预处理,顾名思义,预先处理 CSS。那 stylus 咋预先处理呢?stylus 给 CSS 添加了可编程的特性,也就是说,在 stylus 中可以使用变量、函数、判断、循环一系列 CSS 没有的东西来编写样式文件,执行这一套骚操作之后,这个文件可编译成 CSS 文件。

安装styles-loder

npm install -D stylus stylus-loader

stylus:是stylus的文件预处理程序,作用是将stylus编译成css格式
stylus -loader:加载stylus的文件,调用stylus程序形成css文件

配置webpackconfig

{
				test:/\.styl(us)?$/,
				use: [{
						loader: "style-loader"
					},
					{
						loader: "css-loader"
					},
					{
						loader: "styles-loader"
					}
				]
				
			}

创建stylus文件 ,gloab.styl

body
//背景图
	background-image: url('../imgs/4k动漫壁纸_彼岸图网.jpg')
	//背景图位置固定
	background-attachment: fixed
	//背景图片不重复
	background-repeat:no-repeat
	//背景位置居中
	background-position :center center
	//背景覆盖整个viewport
	background-size :cover
	//当背景没有加载时的颜色
	background-color: #00FFFF

使用

import './assets/style/global.styl'

注意:index.html在dist目录下
webpack5大常用loader_官网

在vue中使用stylus

webpack5大常用loader_官网_02
scoped:在当前组件样式生效
webpack5大常用loader_官网_03