简单的file-loader实现

简单的file-loader实现

  1. 项目目录
    在这里插入图片描述

  2. webpack配置
    在这里插入图片描述
    resolveLoader的作用是先从全面的文件夹加载loader,如果找不到,再从node_modules里面找。

  3. file-loader-copy

const { interpolateName } = require('loader-utils')
// 命名文件的方法

function loader (content, map, meta){
    const fileName = interpolateName(this,this.query.fileName,{content})
    this.emitFile(fileName,content)
    // 创建一个新的文件
    const resultContent = `module.exports = ${JSON.stringify(fileName)}`
    this.callback(null,resultContent)
    // 返回处理过的文件内容
    // return `module.exports = ${JSON.stringify(fileName)}`
}

loader.raw = true
// 让loader的content为buffer

module.exports = loader
  1. app.js
const ImgSrc = require('./assets/ceshi.jpg')

const Img = document.createElement('img')
Img.src = ImgSrc
Img.width = 180

document.body.appendChild(Img)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值