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 相关文章推荐
JavaScript 学习笔记(六)
Dec 31 Javascript
jquery移除button的inline onclick事件(已测试及兼容浏览器)
Jan 25 Javascript
用javascript判断IE版本号简单实用且向后兼容
Sep 11 Javascript
javascript arguments使用示例
Dec 16 Javascript
JS实现让网页背景图片斜向移动的方法
Feb 25 Javascript
js实现可得到不同颜色值的颜色选择器实例
Feb 28 Javascript
简单实现限制uploadify上传个数
Nov 16 Javascript
jquery中ajax处理跨域的三大方式
Jan 05 Javascript
JavaScript运动框架 链式运动到完美运动(五)
May 18 Javascript
Easy UI动态树点击文字实现展开关闭功能
Sep 30 Javascript
vue 每次渲染完页面后div的滚动条保持在最底部的方法
Mar 17 Javascript
教你使用vscode 搭建react-native开发环境
Jul 07 Javascript
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选项与信息函数的使用详解
2013/05/10 PHP
PHP中__FILE__、dirname与basename用法实例分析
2014/12/01 PHP
PHP中的密码加密的解决方案总结
2016/10/26 PHP
PHP上传图片、删除图片简单实例
2016/11/12 PHP
javascript 图片上传预览-兼容标准
2009/06/01 Javascript
jQuery创建插件的代码分析
2011/04/14 Javascript
通过JS自动隐藏手机浏览器的地址栏实现原理与代码
2013/01/02 Javascript
JavaScript实现多维数组的方法
2013/11/20 Javascript
js改变文章字体大小的实例代码
2013/11/27 Javascript
jQuery基于图层模仿五星星评价功能的方法
2015/05/07 Javascript
jquery中object对象循环遍历的方法
2015/12/18 Javascript
原生JS下拉加载插件分享
2016/12/26 Javascript
JavaScript数组去重的6个方法
2017/01/21 Javascript
layui 实现表单和文件上传一起传到后台的例子
2019/09/16 Javascript
webpack安装配置与常见使用过程详解(结合vue)
2020/06/01 Javascript
vue 公共列表选择组件,引用Vant-UI的样式方式
2020/11/02 Javascript
[58:09]Spirit vs NB Supermajor小组赛 A组败者组决赛 BO3 第三场 6.2
2018/06/03 DOTA
Python版的文曲星猜数字游戏代码
2013/09/02 Python
Python中使用urllib2防止302跳转的代码例子
2014/07/07 Python
深入解析Python设计模式编程中建造者模式的使用
2016/03/02 Python
python的random模块及加权随机算法的python实现方法
2017/01/04 Python
深入理解python中的atexit模块
2017/03/07 Python
python代码实现ID3决策树算法
2017/12/20 Python
基于Python 装饰器装饰类中的方法实例
2018/04/21 Python
django ModelForm修改显示缩略图 imagefield类型的实例
2019/07/28 Python
详解在python操作数据库中游标的使用方法
2019/11/12 Python
在Python中字符串、列表、元组、字典之间的相互转换
2019/11/15 Python
Python3和PyCharm安装与环境配置【图文教程】
2020/02/14 Python
Python常见反爬虫机制解决方案
2020/06/01 Python
python 下载文件的多种方法汇总
2020/11/17 Python
会计学财务管理专业个人的自我评价
2013/10/19 职场文书
旅游管理毕业生自荐书
2014/02/02 职场文书
《独坐敬亭山》教学反思
2014/04/08 职场文书
离婚协议书的范本
2015/01/27 职场文书
小学六年级毕业感言
2015/07/30 职场文书
2016优秀护士先进个人事迹材料
2016/02/25 职场文书