我的编程空间,编程开发者的网络收藏夹
学习永远不晚

webpack如何自动生成网站图标详解

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

webpack如何自动生成网站图标详解

介绍

我们在自己搭建项目的时候,有时候主管给你一张logo图片,让你自己想办法变成网站图标,有时候项目需求里不仅仅是多种尺寸的favicon.ico,还有安卓和ios在apple-touch-icon这类私有属性的各种尺寸需要icon,其实到是有些在线工具或者本地软件让你去使用,但是就是有点烦躁,有没有考虑过完全无视这个任务,让项目构建打包之后自己生成,不用再去费心了。本期我们就给大家介绍这样一个自动将图片处理成网站图标的插件 —— html-webpack-plugin。他可以自动帮我们把需要各种格式各种尺寸自动生成,就是这么方便省心。

准备

先准备要生成图标的原图,可以是jpg,png,也可以是svg。我们为了演示就一样来一份吧。

然后在 webpack.config.js 写个基础结构,如下:

// webpack.config.js
const HtmlWebpackPlugin = require("html-webpack-plugin");
const { CleanWebpackPlugin } = require('clean-webpack-plugin');
const plugins = [
  new CleanWebpackPlugin(),
  new HtmlWebpackPlugin({
    filename: "index.html",
    template: path.resolve(__dirname, "public/index.html")
  })
]
module.exports = {
  // ...
  plugins
}

后面,我们就要在plugins这个数组里搞事情了。

使用

我们先来安装一下

# NPM
npm i -D favicons favicons-webpack-plugin
# YARN
yarn add -D favicons favicons-webpack-plugin

我们要安装两个东西一个是favicons-webpack-plugin也就是插件主体,而另一个就是favicons,它是用于生成网站图标及其相关文件的 Node.js 模块。其实favicons-webpack-plugin本身就是一次对favicons的借用。

let faviconsWebpackPlugin = new FaviconsWebpackPlugin({
  logo : './public/static/class="lazy" data-src/logo.svg', // 目标图标路径
  cache : true,  // 启用缓存并可选择指定存储缓存数据的路径,禁用缓存可能会增加构建时间
  prefix : 'assets/logo/' ,   // 生成资产的前缀路径
  mode : 'webapp' ,  // 打包模式,默认为auto,可选webapp/light/auto 
  devMode : 'light', // 生产模式,默认为light,可选webapp/light 
})
plugins.push(faviconsWebpackPlugin)

十分的简单,我们先要配置好要生成的那图片的路径,还有生成图片后的位置,至于mode和devMode分别是打包和生产的两种模式。webapp与light顾名思义就是构建之后的图片是否完全满足生成需要,一般生产环境下为了更快打开调试页面都会选用light,这样他就会生成一个图标,以最快速度去构建。而webapp则会生成一堆图标。

言归正传,我们刚写的代码,执行打包先康康会发生什么变化吧:

图片目录下已经生成了格式各样的图标。

index.html里也自动给引用了这些图片。

我们再运行一下,康康网站图标是否有啥变化吧。

还记得刚才是做了三种格式的图片吗,刚都测了一下,都可以很好的展示出来。

但是,你可能会想,我用不了这么多图标啊,我就想生成网站的favicon.ico,这可如何是好?

别急,刚才说了这个插件就是对favicons的借用,那么favicons有的这里也可以有。

上面是favicons一部分源码,这部分说了能生成什么图标的开关,接下来,我们就在刚才的基础上改动一下吧。

let faviconsWebpackPlugin = new FaviconsWebpackPlugin({
  // ...
  favicons: {
    appName: "",
    appDescription: "",
    developerName: "",
    developerURL: null,
    background: '#fff',
    theme_color: '#666',
    icons: {
      firefox:false,           // Firefox OS 图标
      windows:false,           // Windows 8 图标
      coast: false,            // Opera 图标
      android : false ,        // Android 主屏幕图标
      appleIcon : false,       // Apple 触摸图标
      appleStartup : false,    // Apple 启动图像
      favicons : true ,        // 网站图标
      yandex : false,          // Yandex 图标
    }
  }

除了可以有设置图标种类开关外,还可以设置一些别的比如app名,app的描述,主体色,背景色等等,这里就不一一赘述了,主要都是看favicons 当中的配置。

这里,我们仅想要网站图标,那么就可以将其他的关闭掉,然后再去打包构建,就会发现图标仅剩下favicons的了。

兼容

因为favicons-webpack-plugin与html-webpack-plugin相关联的,所以一些特定版本提前一定要安装好,不要出现兼容问题。

  • favicons-webpack-plugin 2.x 与 html-webpack-plugin 3.x 兼容

  • favicons-webpack-plugin 3.x - 4.x 与 html-webpack-plugin 4.x 兼容

  • favicons-webpack-plugin 5.x与 html-webpack-plugin 5.x 兼容

结语

类似于favicons-webpack-plugin的插件还有很多但是基本配置和操作都大差不差。插件工具就是这样,好与坏就看你怎么用了,至少我们如果搭建项目时用了它,可以自动生成一系列的图标,省去一些苦恼,图一个方便省心罢了。

到此这篇关于webpack如何自动生成网站图标的文章就介绍到这了,更多相关webpack自动生成网站图标内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

webpack如何自动生成网站图标详解

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

webpack怎么自动生成网站图标

这篇文章主要介绍webpack怎么自动生成网站图标,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!介绍我们在自己搭建项目的时候,有时候主管给你一张logo图片,让你自己想办法变成网站图标,有时候项目需求里不仅仅是多种尺
2023-06-28

如何自动生成linux网卡配置

这篇文章主要介绍“如何自动生成linux网卡配置”,在日常操作中,相信很多人在如何自动生成linux网卡配置问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何自动生成linux网卡配置”的疑惑有所帮助!接下来
2023-06-09

详解nodejs的express如何自动生成项目框架

本文主要介绍了nodejs的express如何自动生成项目框架,这里整理了详细的代码,有需要的小伙伴可以参考下。nodejs版本为:4.X,express版本为4.X 1.全局安装2个模块 express、express-generator
2022-06-04

如何使用 SQL Server 自动生成序号详细教程

在 sql server 中使用 identity 属性,可以在表中自动生成序号,从指定起始值开始,每次插入新行时递增指定增量。如何使用 SQL Server 自动生成序号在 SQL Server 中生成序号是一种为表中的每一行分配唯一数
如何使用 SQL Server 自动生成序号详细教程
2024-08-19

win10网络图标变成了地球如何解决

本篇内容主要讲解“win10网络图标变成了地球如何解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“win10网络图标变成了地球如何解决”吧!方法一、重启 检查网线是否插好,如果暂时可以不用电脑
2023-07-01

如何解决win10网络成为地球的图标

网络图标在win10中变成地球,你有什么解决办法?。只有当网络异常时,才会发生变化。不能上网的原因有很多,如网线本身的损坏、网线接口是否正常连接、系统内网络适配器设置的错误等,这些都会导致win10网络成为地球图标。让我们教你这种不能上网的
2023-07-19

详解WPF如何动态生成DataGrid的行和列

本文介绍了如何在WPF中动态生成DataGrid行和列。首先定义数据源,创建DataGrid并禁用自动生成列。然后使用DataGridTemplateColumn类和ObservableCollection.Add方法生成列和行。还可以设置列类型和格式,并使用ObservableCollection和DataGrid.Columns管理行和列。文章强调了使用INotifyPropertyChanged接口进行数据更新,并提供了其他考虑因素,例如使用库和命令进行交互。
详解WPF如何动态生成DataGrid的行和列
2024-04-02

如何基于Python深度图生成3D点云详解

通常使用TOF等3d摄像头采集的格式一般只是深度图,下面这篇文章主要给大家介绍了关于如何基于Python深度图生成3D点云的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
2022-12-20

python用Pygal如何生成漂亮的SVG图像详解

前言 SVG可以算是目前最最火热的图像文件格式了,它的英文全称为Scalable Vector Graphics,意思为可缩放的矢量图形。它是基于XML(Extensible Markup Language),由World Wide Web
2022-06-04

帝国CMS如何制作手机网站详细图解

笔者以一个帝国cms 6.6架构的网站为yCsttl例,手把手的教大家如何操作。操作前,我们需要先对网站数据库进行备份。接下来我们添加手机站的模板组。点击“模板”,选择“模板组管理”中的&ld
2022-06-12

android自动生成dimens适配文件的图文教程详解(无需Java工具类)

在编写ui界面时因为手机分辨率大小不同,所以展现出来的效果也是不同的,这个时候就需要考虑适配器,让根据手机分辨率自动适配相应尺寸来展示界面,可以提高用户的体验感。 1.首先安装插件ScreenMatch,安装成功之后android stud
2022-06-06

一文详解如何在前端中动态生成API接口

本篇文章给大家带来了关于前端的相关知识,其中主要介绍了怎么在前端中动态的生成API接口 ,下面一起来看一下,希望对大家有帮助。
2023-05-14

编程热搜

目录