webpack 4+ 学习 (2)

Webpack资源加载实践
本文介绍如何使用Webpack加载CSS和图片资源。通过配置不同的loader,如style-loader、css-loader及file-loader,实现对样式表和图像文件的有效管理和打包。

管理资源

webpack 最出色的功能之一是,除了 JavaScript ,还可以通过 loader 引入任何其他类型的文件。

 

加载 CSS

需要在 module 配置中安装并添加 style-loader 和 css-loader

npm install --save-dev style-loader css-loader

webpack.config.js

  const path = require('path');

  module.exports = {
    entry: './src/index.js',
    output: {
      filename: 'bundle.js',
      path: path.resolve(__dirname, 'dist')
    },
+   module: {
+     rules: [
+       {
+         test: /\.css$/,
+         use: [
+           'style-loader',
+           'css-loader'
+         ]
+       }
+     ]
+   }
  };

webpack 根据正则表达式,来确定应该查找哪些文件,并将起提供给指定的 loader。在这种情况下,以 .css 结尾的全部文件,都将被提供给 style-loader 和 css-loader

在 src 下新建 style.css文件

src/style.css

.hello {
    color : red;
}

在 src 下的 index.js 中引入 style.css

import './style.css'

window.onload = function () {

}

修改 dist 文件下的 index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>hello webpack</title>
    <script src="bundle.js"></script>
</head>
<body>
    <div class="hello">
        Hello Webpack 4
    </div>
</body>
</html>

运行构建命令 => npm run build,可以看到红色的 Hello Webpack 4

 

加载图片

处理 css 中的背景和图标这些图片,使用 file-loader ,可以轻松的将这些内容混合到 css 中:

npm install --sava-dev file-loader

 webpack.config.js

  const path = require('path');

  module.exports = {
    entry: './src/index.js',
    output: {
      filename: 'bundle.js',
      path: path.resolve(__dirname, 'dist')
    },
    module: {
      rules: [
        {
          test: /\.css$/,
          use: [
            'style-loader',
            'css-loader'
          ]
        },
+       {
+         test: /\.(png|svg|jpg|gif)$/,
+         use: [
+           'file-loader'
+         ]
+       }
      ]
    }
  };

在 src 文件夹下添加 wx.png 

  |- package.json
  |- webpack.config.js
  |- /dist
    |- bundle.js
    |- index.html
  |- /src
+   |- wx.png
    |- style.css
    |- index.js
  |- /node_modules

在 src/index.js 中引入 

import wx from './wx.png'
import './style.css'

window.onload = function () {

}

修改 src/style.css 样式

.hello {
    color : red;
    font-size: 28px;
    background: url("./wx.png");
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值