13 Webpack 资源文件引入

加载 CSS

如果我们要import './style.css',需要安装 style-loader 和 css-loader

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

 

加载图片

如果我们的css中存在背景和图标这些图片,那么我们需要安卓 file-loader

npm install --save-dev file-loader

这样我们可以使用 import MyImage from './my-image.png'url('./my-image.png')<img src="./my-image.png" />等语法

 

加载字体

那么,像字体这样的其他资源如何处理呢?file-loader 和 url-loader 可以接收并加载任何文件,然后将其输出到构建目录。

 

加载数据

要加载如 JSON 文件,CSV、TSV 和 XML等数据

NodeJS支持JSON的加载

CSV、TSV 和 XML,你可以使用 csv-loader 和 xml-loader

npm install --save-dev csv-loader xml-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'

          ]

        },

        {

          test: /\.(woff|woff2|eot|ttf|otf)$/,

          use: [

            'file-loader'

          ]

        },

+       {

+         test: /\.(csv|tsv)$/,

+         use: [

+           'csv-loader'+         ]

+       },

+       {

+         test: /\.xml$/,

+         use: [

+           'xml-loader'

+         ]

+       }

      ]

    }

  };

 

指定资源文件输出路径

{

          test: /\.(png|svg|jpg|gif)$/,

          use: [

            {

                    loader: 'file-loader',

                    options:{

                        name: '/images/[hash].[ext]'

                    }

            }

          ]

},

 

 

示例:

index.html

<div class="webpack"></div>

 

index.css

.webpack {

    background: url(../img/webpack.png) no-repeat center;

    height:500px;

}

 

index.js 引入css

require('../css/index.css');

执行webpack指令

查看生成的目录结构

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值