写这一系列的文章,本意是想要梳理一下自己凌乱的webpack知识,只是使用过vue-cli,修改过其中的一部分代码,但是对于一个简单项目从0开始搭建webpack的流程和其中的依赖并不是十分清楚。所以写了这样的一系列文章,一方面巩固自己的知识,一方面也可以给小伙伴们一点点入口。但是无奈运气不好,偏偏恰逢webpack4热火朝天的上线了,在webpack3时代的一部分使用方法已经没办法照葫芦画瓢了。所以一边查看文档和github,给大家找到了一些并不是很完美的解决方案。这是这个系列的最后一篇,说一说webpack一些可以优化的地方。也算是给这个系列一个6分的答卷吧。

  先给大家介绍一个webpack自带的小插件,BannerPlugin,我们在前面的文章中说过,webpack自带的插件需要引入webpack,前面已经引入过了,这里就不再重复说明,然后我们只需要在plugins中加上一段代码就可以了:

new webpack.BannerPlugin('author:zaking')

  这样在你打包生成的文件中都会带上你的标记,主要的作用就是在工作中找到这么垃圾的代码是谁写的。

  下面我们来看看如何将静态资源集中打包在一个文件夹下,这样会方便我们的开发和维护。想要将静态资源集中,我们需要一个插件copy-webpack-plugin。

  如何安装和引入就不多说了,直接上代码:

 new copyWebpackPlugin([{
from:__dirname+'/src/public',
to:'./public'
}])

  安装和引入完成之后,在plugins配置中加入如上代码,也就是说从你的src/public目录下的所有文件都会打包到dist/public目录下,那么你现在如果打包的话会有报错,因为你的src下并没有public目录,所以我们新建一个目录,并且把src/images下的图片改个名字放进去,然后在打包就会发现完全没问题了。

  那么下面再说说如何读取json文件,我们偷点懒,直接使用package.json,看看如何读取其中的内容。

  首先,我们在index.html中新建一个div,名为jsonDIV:

<!-- 读取json数据的容器 -->
<div id="jsonDiv"></div>

  然后再main.js中加入一段代码:

//读取json
var json =require('../package.json');
document.getElementById("jsonDiv").innerHTML= json.name;

  然后我们npm run dev一下,就可以看到页面中已经显示了我们的项目名称,说明读取成功。

  回头看了下这篇文章有点短小,但是想来想去实在不知道还有什么可以写在这系列的最后一篇文章中。可能有人会问,怎么webpack这么多的功能你没什么说的了?不是的,而是再说下去也是重复之前说过的,各种loader,各种插件,所以也就不说了。如果大家对webpack更多的功能和用法有兴趣,可以去查看官方文档,那里还是比较详细的。而目前webpack4的发布,使很多小伙伴都迫不及待地想要尝尝鲜,但是webpack3仍旧是当前的主流,而且4的文档并不全面,很多功能如果英文不太好的话还是很难的。所以个人建议大家在工作中没必要使用4。当然,想要课后学习一下是值得肯定的。

  那么最后,非常感谢大家阅读!github代码已经同步更新!

走进webpack(3)-- 小结的更多相关文章

  1. 走进webpack(1)--环境拆分及模块化

    初级的文章和demo已经基本完成了,代码也已经上传到了我的github上,如果你对webpack的使用并不是十分了解,那么建议你回头看下走近系列,里面包括了当前项目中使用频繁的插件,loader的讲解 ...

  2. 走进webpack(2)--第三方框架(类库)的引入及抽离

    在当代的前端开发中,很少会用原生JS来开发页面,最基本的都会使用jQuery来节省我们开发的时间和效率,而angular,vue,react的出现更是为前端开发者带来了福音.那么这篇文章就说说如何用w ...

  3. webpack 学习小结

    webpack 是一个模块打包工具(前提要安装 node使用npm来安装webpack) 1.安装webpack,webpack-cli , webpack-dev-server //全局安装 npm ...

  4. 带你走进webpack世界,成为webpack头号玩家。

    最近朋友圈被<头号玩家>刷爆了,斯皮尔伯格一个资深电影导演,把对过去经典的致敬,对未来的憧憬浓缩在这一部电影中,可以说让观众燃了起来. 观望整个前端开发,不断的演化,发展迅速.前端开发从最 ...

  5. 【前端必会】走进webpack生命周期,另类的学习方法

    背景 webpack构建过程中的hooks都有什么呢?除了在网上看一些文章,还可以通过更直接的办法,结合官方文档快速让你进入webpack的hook世界 写一个入口文件 //index.js cons ...

  6. webpack基础小结。

    想写写webpack的学习体验的小结,加深自己的理解和使用技能,顺便过一下文档(4.0的功能感觉还是满好玩的). 本文主简写描述webpack中对各种文件的简单处理 基本知识点 处理js 加载css文 ...

  7. 一步步从零开始用 webpack 搭建一个大型项目

    开篇 很多人都或多或少使用过 webpack,但是很少有人能够系统的学习 webpack 配置,遇到错误的时候就会一脸懵,不知道从哪查起?性能优化时也不知道能做什么,网上的优化教程是不是符合自己的项目 ...

  8. webpack入门--前端必备

    webpack入门--前端必备 什么是 webpack? webpack是一款模块加载器兼打包工具,它能把各种资源,例如JS(含JSX).coffee.样式(含less/sass).图片等都作为模块来 ...

  9. 小记:vue 及 react 的工程项目入口小结及 webpack 配置多页面应用参考

    一.前言 闲暇时间,看了下前端的基础知识,有幸参与了公司公众号项目前面的一个阶段,学习到了一些前端框架的相关知识 小结了一下 自己练习通过新建一个个文件组织起项目的过程中的一些理解 二.项目入口 vu ...

随机推荐

  1. 微软依赖注入Unity

    Unity是一个依赖注入(Dependency Injection,DI)容器.DI的标准描述文章来自Martin Flower[0].作为一个快速的摘要,依赖注入容器就是一个用于构建高度松耦合的软件 ...

  2. Python与RabbitMQ交互

    RabbitMQ 消息队列 成熟的中间件RabbitMQ.ZeroMQ.ActiveMQ等等 RabbitMQ使用erlang语言开发,使用RabbitMQ前要安装erlang语言 RabbitMQ允 ...

  3. phpstorm 2017.3.3的安装和破解

    首先先下载phpstorm安装包,可以直接百度phpstorm就有了,或者打开这个链接:https://www.jetbrains.com/zh/phpstorm/specials/phpstorm/ ...

  4. Linux压缩、解压文件

    对于.tar格式的文件压缩和解压比较常用,今天对于.zip格式的文件用同样的命令无效.真是被自己蠢到了,忽略了后缀格式... 1.对于tar格式文件 压缩: tar –zcvf 压缩完后的名称  被压 ...

  5. WPF自学入门(五)WPF依赖属性

    在.NET中有事件也有属性,WPF中加入了路由事件,也加入了依赖属性.最近在写项目时还不知道WPF依赖属性是干什么用的,在使用依赖项属性的时候我都以为是在用.NET中的属性,但是确实上不是的,通过阅读 ...

  6. 3分钟anaconda安装Python框架Tensorflow,1行语句测试是否成功?

    Anaconda是一个用于科学计算的ython发行版,支持 Linux, Mac, Windows系统,提供了包管理与环境管理的功能,可以很方便地解决多版本python并存.切换以及各种第三方包安装问 ...

  7. 大文件视频断点续传插件resumabel.js,优化上传速度,缩短最后一片等待时长。

    在angular中使用resumable.js遇到的一个问题:大视频上传到99-100%时,此时正在上传最后一片,最后一片的xhr一直是pending状态.原因插件会检查第一片和最后一片的元数据,检测 ...

  8. TC命令流量控制测试(针对具体IP和具体进程)

    TC命令流量控制测试 这里测试系统为Linux操作系统,通过简单的TC命令来实现对带宽的控制. 1对具体IP地址的流量控制 这里采用iperf来进行带宽的测试,首先在服务器和客户端都安装上iperf软 ...

  9. Android开发——设置界面的创建

    前言: 最近忙着搞项目,难得有时间,便来整理搞项目中学习到的知识 使用之前,先介绍一下android这种的五种数据储存方式,分别为文件储存,SharePrefence,SQL,使用ContentPro ...

  10. 用MATLAB结合四种方法搜寻罗马尼亚度假问题

    选修了cs的AI课,开始有点不适应,只能用matlab硬着头皮上了,不过matlab代码全网仅此一份,倒有点小自豪. 一.练习题目 分别用宽度优先.深度优先.贪婪算法和 A*算法求解"罗马利 ...