环境

webpack4.x

文件结构

│  package.json
│  webpack.config.js
│  yarn.lock
│
├─dist
│      1f871aa58.png
│      bundle.js
│      index.html
│
├─node_modules
└─src
    ├─img
    │      1.png
    │
    └─js
            app.js

文件内容(app.js)

//创建img标签,并使用引入的图片文件
let src = require('../img/1.png');
let img = new Image();
img.src = src;
img = document.querySelector("body").appendChild(img);

方法1:file-loader

package.json
{
  "name": "file",
  "version": "1.0.0",
  "main": "index.js",
  "license": "MIT",
  "devDependencies": {
    "file-loader": "^4.0.0",
    "webpack": "^4.33.0",
    "webpack-cli": "^3.3.3"
  }
}

webpack.config.js
const path = require('path');

module.exports = {
    entry: {
        app: './src/js/app.js'
    },
    output: {
        filename: 'bundle.js',
        path: path.join(path.resolve(__dirname), 'dist')
    },
    mode: 'development',
    module: {
        rules: [{
            test: /\.(jpg|png|gif)$/,
            use: {
                loader: 'file-loader',
                options: {
                    name: '[name][hash:8].[ext]'
                }
            }
        }]
    }
};

方法2:url-loader(生成文件的话需要file-loader)

package.json
{
  "name": "file",
  "version": "1.0.0",
  "main": "index.js",
  "license": "MIT",
  "devDependencies": {
    "file-loader": "^4.0.0",
    "url-loader": "^2.0.0",
    "webpack": "^4.33.0",
    "webpack-cli": "^3.3.3"
  }
}
webpack.config.js
const path = require('path');

module.exports = {    entry: {        app: './src/js/app.js'    },    output: {        filename: 'bundle.js',        path: path.join(path.resolve(__dirname), 'dist')    },    mode: 'development',    module: {        rules: [            {                test: /\.(jpg|png|gif)$/,                use : {                    loader : 'url-loader',                    options : {                        limit : 2 * 1024,                         name: '[name][hash:8].[ext]'                    }                }            }]    }};

打包(打开index.html可以看见图片)

npx webpack

demo__image_loader的更多相关文章

随机推荐

  1. 工作总结 datatable 里的 数据 rows Columns

    json 格式数据 row  6行   每行 81 列   对应数据 col   81 列 每列代表字段

  2. Android简单开发之 通用Adapter ViewHolder

    我们寻常使用Adapter的方式 public class BusbaseSearchApadter extends SimpleBaseApadter { private List<Busba ...

  3. WPF学习笔记:ComboBox的数据绑定

    UI <UserControl x:Class="UnitViews.UserMeUV" xmlns="http://schemas.microsoft.com/w ...

  4. checkbox是否选中判断

    三种方式: $('#checkAll').bind('click',function(){ //第一种 console.log(this.checked); //第二种 console.log($(t ...

  5. XPath Nodes

    教程 https://www.w3schools.com/xml/xpath_nodes.asp 节点之间的关系 Parent,Children,Siblings,Ancestors,Descenda ...

  6. 洛谷 P3806 点分治模板

    题目:https://www.luogu.org/problemnew/show/P3806 就是点分治~ 每次暴力枚举询问即可,复杂度是 nmlogn: 注意 tmp[0]=1 ! 代码如下: #i ...

  7. Datatable转换为Json 的方法

    /// <summary>         /// Datatable转换为Json         /// </summary>        /// <param n ...

  8. MySQL max_connections 总是 214 。不能设大了? max_connections = 214

    MySQL max_connections 总是 214 .不能设大了? centos7 mariadb 修改 max_connections 总是214 It was indeed limits s ...

  9. windows下写的脚本,在linux下执行失败

    Windows中的换行符为CRLF, 即正则表达式的rn(ASCII码为13和10), 而Unix(或Linux)换行符为LF, 即正则表达式的n. 在Windows和Linux下协同工作的时候, 往 ...

  10. smarty用法

    smarty学习指南 在smarty的模板设计部分我简单的把smarty在模板中的一些常用设置做了简单的介绍,这一节主要来介绍一下如何在smarty中开始我们程序设计.下载Smarty文件放到你们站点 ...