webpack配置文件和常用配置项介绍


Posted in Javascript onApril 28, 2017

1、安装webpack

1.全局安装webpack:npm install webpack -g 或者转化了cnpm则将npm改为cnpm进行安装

2.进行初始化建立package.json文件记录插件,命令行:npm init

3.webpack安装到项目并将写入package.json的devDependencies中,

命令行:npm install webpack --save-dev。

2、webpack配置文件介绍

1.webpack需要配置文件webpack.config.js,手动的创建于项目根目录中就ok。一个项目可以设置多个配置文件,每个都可以有不同的功能。

2.webpack的配置文件,格式如下:

module.exports = {



//配置开始。主体


}

3.常用配置项简单说明

entry:打包的入口文件,它可以是一个字符串或者一个对象。

output:配置打包的输出结果,为一个对象。

fileName:定义输出文件名,为一个字符串。

path:定义输出文件路径,为一个字符串。

module:定义对模块的处理逻辑,为一个对象。

loaders:定义一系列的加载器,为一个数组。 

 [




{






test:正则表达式,用于匹配到的文件






loader/loaders:字符串或者数组,处理匹配到的文件。






 
           //loader:string:只需要用到一个模块加载器
           //loaders:array:要使用多个模块加载器






include:字符串或者数组,指包含的文件夹






exclude:字符串或者数组,指排除的文件夹





}




]

resolve:影响对模块的解析,为一个对象

extensions:自动补全识别后缀,为一个数组

plugins:定义插件,为一个数组

4.entry的详细说明

1)当entry是一个字符串时,这个字符串表示需要打包的模块的路径,如果只有一个要打包的模块,可以使用这种形式

2)当entry是一个对象

a.是数组时,如果需要将多个模块打包成一个模块,可以使用这个方式。如果这些模块之间不存在依赖,数组中值的顺序没有要求,如果存在依赖,则要将依赖性最高的模块放在最后面。

例如:entry:["./dome/one.js",".dome/two.js"]

b.是键值对形式的对象是,当需要分别打包成多个模块时,可以使用这种方式,例:

entry:{



module1:"./dome/one.js",




module2:["./dome/two.js","./dome/three.js"]


}

注:当entry是一个键值对形式的对象时,包名就是键名,output的filename不能是一个固定的值,因为每个包的名字不能一样

5.output详细说明

1)output是一个对象

2)output.filename:指定输出文件名,一个字符串。当输出一个文件,output.filename为一个确定的字符串

如:

output:{




filename:"build.js"






}

当输出多个文件,output.filename不能为一个确定的字符串。为了让每个文件有一个唯一的名字,需要用到下面的变量

如:

output:{




path:'./build/',





fialname:'[name]_bundle.js'




}

(3)output.path:指定输出文件的路径,相对路径,为一个字符串

6.module.loaders详细说明

1)module是一个对象,定义对模块的处理逻辑

2)module.loaders是一个数组,定义一系列加载器,这个数组中的每一项都是一个对象

3)

module.loaders:[



{





test:正则表达式,用于匹配到的文件





loader/loaders:字符串或者数组,处理匹配到的文件。






 
         //loader:string:只需要用到一个模块加载器
         //loaders:array:要使用多个模块加载器





include:字符串或者数组,指包含的文件夹





exclude:字符串或者数组,指排除的文件夹




}



]

(4)module除了可以配置loaders以外还能配置其他的值.更详细请移步webpack官网

7.resolve.extensions详细说明

1)resolve.extensions并不是必须配置的,当不配置时,会使用默认值["", ".webpack.js", ".web.js", ".js"],当手动为resolve.extensions设置值,它的默认值会被覆盖

2)如果你想要每个模块都能够按照它们自己扩展名正确的被解析,要在数组中添加一个空字符串。

3)如果你想请求一个js文件但是在请求时不带扩展(如:require('somecode')),那么就需要将'.js'添加到数组中。其他文件一样

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
zeroclipboard复制到剪切板的flash
Aug 04 Javascript
js 中 document.createEvent的用法
Aug 29 Javascript
jquery实现文字由下到上循环滚动的实例代码
Aug 09 Javascript
用js模拟struts2的多action调用示例
May 19 Javascript
js去除输入框中所有的空格和禁止输入空格的方法
Jun 09 Javascript
jquery学习总结(超级详细)
Sep 04 Javascript
如何防止JavaScript自动插入分号
Nov 05 Javascript
JavaScript兼容性总结之获取非行间样式案例
Aug 07 Javascript
关于JavaScript数组你所不知道的3件事
Aug 24 Javascript
详解JS获取HTML DOM元素的8种方法
Jun 17 Javascript
vue项目中使用tinymce编辑器的步骤详解
Sep 11 Javascript
如何在 Vue 中使用 JSX
Feb 14 Vue.js
JS 组件系列之 bootstrap treegrid 组件封装过程
Apr 28 #Javascript
JavaScript实现简单的四则运算计算器完整实例
Apr 28 #Javascript
vue实现动态数据绑定
Apr 28 #Javascript
Vue实现动态响应数据变化
Apr 28 #Javascript
解决浏览器会自动填充密码的问题
Apr 28 #Javascript
JS实现简单的天数计算器完整实例
Apr 28 #Javascript
jQuery实现jQuery-form.js实现异步上传文件
Apr 28 #jQuery
You might like
php adodb连接mssql解决乱码问题
2009/06/12 PHP
基于php设计模式中单例模式的应用分析
2013/05/15 PHP
PHP实现AES256加密算法实例
2014/09/22 PHP
Linux下安装oracle客户端并配置php5.3
2014/10/12 PHP
简单了解PHP编程中数组的指针的使用
2015/11/30 PHP
PHP使用socket发送HTTP请求的方法
2016/02/14 PHP
laravel框架查询数据集转为数组的两种方法
2019/10/10 PHP
jQuery下的几个你可能没用过的功能
2010/08/29 Javascript
js动态为代码着色显示行号
2013/05/29 Javascript
Javascript中Event属性搜集整理
2013/09/17 Javascript
jquery插件jquery倒计时插件分享
2013/12/27 Javascript
利用js读取动态网站从服务器端返回的数据
2014/02/10 Javascript
jQuery中ajax的get()方法用法实例
2014/12/26 Javascript
js对象的复制继承实例
2015/01/10 Javascript
批量下载对路网图片并生成html的实现方法
2016/06/07 Javascript
jsp 自动编译机制详细介绍
2016/12/01 Javascript
微信小程序实战之运维小项目
2017/01/17 Javascript
详解vue+axios给开发环境和生产环境配置不同的接口地址
2019/08/16 Javascript
vue计算属性+vue中class与style绑定(推荐)
2020/03/30 Javascript
微信小程序实现拨打电话功能的示例代码
2020/06/28 Javascript
javascript实现雪花飘落效果
2020/08/19 Javascript
[04:49]2014DOTA2国际邀请赛 Newbee顺利挺进总决赛 ImbaTV独家专访
2014/07/19 DOTA
python实现读取excel写入mysql的小工具详解
2017/11/20 Python
Python中super函数用法实例分析
2019/03/18 Python
详解如何设置Python环境变量?
2019/05/13 Python
关于Python解包知识点总结
2020/05/05 Python
什么是python的自省
2020/06/21 Python
python脚本定时发送邮件
2020/12/22 Python
CSS3实现粒子旋转伸缩加载动画
2016/04/22 HTML / CSS
实现CSS3中的border-radius(边框圆角)示例代码
2013/07/19 HTML / CSS
会计毕业生自荐信
2013/11/21 职场文书
大学校庆策划书
2014/01/31 职场文书
党支部党的群众路线对照检查材料
2014/09/24 职场文书
网球场地租赁协议范本
2014/10/07 职场文书
JS class语法糖的深入剖析
2022/07/07 Javascript
MySQL事务的ACID特性以及并发问题方案
2022/07/15 MySQL