webpack学习(二)初识打包配置
前言:webpack打包工具让整个项目的不同文件夹相互关联,遵循我们想要的规则。想 .vue文件, .scss文件浏览器并不认识,因此webpage暗中做了很多转译,编译等工作。
事实上,如果我们在没有加配置文件之前 webpack是有默认配置的,比如在项目最开始的时候我们没有加上webpack.config.js,但是我们依然可以终端运行 npx webpack index.js
来进行打包。但是这并不能满足一个项目中繁杂的各种文件的配置,因此我们可以自己配置符合当前项目的 配置文件-->webpack.config.js。
第一步:在项目中第一级目录添加webpack.config.js文件。
第二部:编写打包的入口,各种配置项和打包出口
第三部:导出配置
如下图:

上图是最基础的打包配置:
1,打包的入口文件是index.js,它的路径是 "./src/index.js"。main的意思是默认打包成main.js。
2, 打包的出口文件可以随意设置,比如:bundle.js。引入path模块并使用 path.resolve()方法,
使得在src平级目录下创建dist(随意起名都可以)文件夹来存放bundle.js等文件。
3,在入口,出口配置之间应该有很多按照我们需求的很多配置,本篇只是初识基本配置,后面继续记录。
另外,如果习惯了用 npm,可以在package.json文件中的脚本配置中这样写:

这样打包的时候 运行 npm run bundle就可以了。
最后:来看看如果项目打包命令行里都是一些什么

上图是一次打包:
1:本次打包对应的唯一一个哈希值。
2:本次打包所使用的webpack版本。
3:本次打包耗时。
4:本次打包的日期。
5:本次打包出的文件,文件的大小,chunks相当于文件的身份id。
6:打包的入口文件,默认名 main
7:打包所涉及到的文件,一些模块文件和各种业务文件等。
webpack学习(二)初识打包配置的更多相关文章
- webpack中typeScript的打包配置
2018年typescript发展的非常好,js是一门非常灵活的语言,所以一个功能,怎么写都能够写出来,但是这也会导致一个问题,不同人写js的方式不同,那么会导致同一个功能出现的代码风格会迥然不同.这 ...
- webpack学习(三)配置loader
首先搞清楚两个问题: 1 什么是loader? 2 为啥要用各种loader 答: loader 就是各种打包规则,为什么要用是显而易见的,因为webpack还没智能到给它什么文件都能打包,对于js文 ...
- webpack学习(五)配置详解
配置详解 //使用插件html-webpack-plugin打包合并html //使用插件extract-text-webpack-plugin打包独立的css //使用UglifyJsPlugin压 ...
- webpack学习(四)配置plugins
1 plugins是什么??? 如果学过vue和react肯定知道生命周期函数,而生命周期函数实际上就是当程序运行在某个时刻一定会发生的函数. plugins其实也是如此,我们在项目中配置相应的plu ...
- VIM学习二: VIM配置代码及效果图
vim学习及插件 参见:http://www.cnblogs.com/caixu/p/6337926.html .vimrc配置 "***************************** ...
- caffe学习二:py-faster-rcnn配置运行faster_rcnn_end2end-VGG_CNN_M_1024 (Ubuntu16.04)
本文的主要目的是学习记录. 原文连接:https://blog.csdn.net/samylee/article/details/51099508 本博客中我将对py-faster-rcnn配置运行f ...
- Java_web学习(二) eclipse(tomcat)配置
1.先下载eclipse,隔代版本最佳 https://www.eclipse.org/ 2.创建workspace01存放项目代码 3.配置工作目录: IDE相关配置信息 2 没有配置tomcat, ...
- springboot学习二:配置文件配置
springboot默认读取application*.properties #######spring配置####### spring.profiles.active=dev //引入开发配置文件 a ...
- mybatis 学习二 conf xml 配置信息
xml映射配置文件 这个xml文件主要包括一下节点信息 * properties 属性 * settings 设置 * typeAliases 类型命名 ...
随机推荐
- Mac 电脑如何卸载 node
因为刚入手「 Mac 」很多淫技还不懂,在一次使用 npm install 的时候安装出错,提示为 npm 与 node 的版本有问题,所以就想着卸载重新装一个版本. 但是因为刚使用「 Mac 」所以 ...
- liferay 7用OSGi的方式修改默认权限
事先声明,支持这一功能的新版本还没有发布,2017年5月份才支持的 1.以前在62的时候是通过修改ext项目进行修改 2.现在在70可以通过Module Fragment项目进行修改 相关文件:现在出 ...
- 一文读懂JVM
(一)JVM 基础知识 1)Java 是如何实现跨平台的? 注意:跨平台的是 Java 程序,而不是 JVM.JVM 是用 C/C++ 开发的,是编译后的机器码,不能跨平台,不同平台下需要安装不同版本 ...
- matplotlib常用操作
1.根据坐标点绘制: import numpy as np import matplotlib.pyplot as plt x = np.array([1,2,3,4,5,6,7,8]) y = np ...
- kibana一直弹出来报错?
1,这个我们需要授权 2.授予安全
- 什么是PV UV
PV是网站分析的一个术语,用以衡量网站用户访问的网页的数量.对于广告主,PV值可预期它可以带来多少广告收入.一般来说,PV与来访者的数量成正比,但是PV并不直接决定页面的真实来访者数量,如同一个来访者 ...
- No.4 Verilog 表达式
4-1 操作数 常数.参数.线网.变量.位选.存储器.数组. *部分位选: integer mark; :] inst; :] gpio; inst[mark+ : ] //选择 mark,mark+ ...
- laravel 极验(Geetest) 让验证更安全。
整理的有些仓促,在9月15号之后会更新更加详细更加全面的文档,供给大家参考,学习! 1.简述 在网站开发中使用频率最高的工具之一便是验证码,验证码在此也是多种多样,不过简单的图片验证码已经可以被机器识 ...
- Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第十五章:第一人称摄像机和动态索引
原文:Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第十五章:第一人称摄像机和动态索引 代码工程地址: https://g ...
- jq向元素附加数据
--------data() 方法向被选元素附加数据,或者从被选元素获取数据.--------- --------removeData() 方法删除之前通过 data() 方法设置的数据.------ ...