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 相关文章推荐
基于Jquery+Ajax+Json的高效分页实现代码
Oct 29 Javascript
jquery仿QQ商城带左右按钮控制焦点图片切换滚动效果
Jun 27 Javascript
jquery实现页面图片等比例放大缩小功能
Feb 12 Javascript
原生javascript实现DIV拖拽并计算重复面积
Jan 02 Javascript
JS实现控制表格行文本对齐的方法
Mar 30 Javascript
分享经典的JavaScript开发技巧
Nov 21 Javascript
jquery特效 点击展示与隐藏全文
Dec 09 Javascript
基于javascript实现图片滑动效果
May 07 Javascript
使用json来定义函数,在里面可以定义多个函数的实现方法
Oct 28 Javascript
Vue-cli Eslint在vscode里代码自动格式化的方法
Feb 23 Javascript
D3.js实现简洁实用的动态仪表盘的示例
Apr 04 Javascript
tsconfig.json配置详解
May 17 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程序的php代码
2008/04/07 PHP
用PHP读取和编写XML DOM的实现代码
2011/02/03 PHP
javascript一点特殊用法
2008/05/28 Javascript
常用的几段javascript代码分享
2014/03/25 Javascript
详解JavaScript的回调函数
2015/11/20 Javascript
AngularJS实现表单手动验证和表单自动验证
2015/12/09 Javascript
JavaScript中实现无缝滚动、分享到侧边栏实例代码
2016/04/06 Javascript
Javascript 5种方法实现过滤删除前后所有空格
2016/06/22 Javascript
全面接触神奇的Bootstrap导航条实战篇
2016/08/01 Javascript
DOM中事件处理概览与原理的全面解析
2016/08/16 Javascript
jQuery grep()方法详解及实例代码
2016/10/30 Javascript
AngularJS出现$http异步后台无法获取请求参数问题的解决方法
2016/11/03 Javascript
Bootstrap CSS组件之按钮组(btn-group)
2016/12/17 Javascript
AngularJS中filter的使用实例详解
2017/08/25 Javascript
vue中promise的使用及异步请求数据的方法
2018/11/08 Javascript
python正则表达式re之compile函数解析
2017/10/25 Python
三步实现Django Paginator分页的方法
2019/06/11 Python
python批量解压zip文件的方法
2019/08/20 Python
如何运行带参数的python脚本
2019/11/15 Python
Python爬取12306车次信息代码详解
2020/08/12 Python
Python面向对象多态实现原理及代码实例
2020/09/16 Python
详解python百行有效代码实现汉诺塔小游戏(简约版)
2020/10/30 Python
CSS3中的Media Queries学习笔记
2016/05/23 HTML / CSS
StubHub希腊:购买体育赛事、音乐会和剧院门票
2019/08/03 全球购物
应届生服装设计自我评价
2013/09/20 职场文书
2014年祖国生日寄语
2014/09/19 职场文书
工作态度不端正检讨书
2014/10/04 职场文书
餐饮店长岗位职责
2015/04/14 职场文书
2015社区精神文明建设工作总结
2015/04/21 职场文书
中秋节晚会开场白
2015/05/29 职场文书
高考1977观后感
2015/06/04 职场文书
反四风问题学习心得体会
2016/01/22 职场文书
python pyhs2 的安装操作
2021/04/07 Python
Vue3.0写自定义指令的简单步骤记录
2021/06/27 Vue.js
python数字图像处理之图像自动阈值分割示例
2022/06/28 Python
js 实现验证码输入框示例详解
2022/09/23 Javascript