webpack-api篇

在这里插入图片描述

简介
本文主要是介绍webpack的api,具体的怎么配合使用不在本文中涉及
webpack的API
需要在项目的根目录下创建一个webpackconfig.js文件,这个文件是webpack的默认配置文件
默认导出一个配置对象 ,导出遵循CommonJS规范

1、mode

	mode有三个选项,none(不做任何操作),production(生产环境),development(开发环境)

2、entry入口配置

3、 output 出口配置,filename: "bundle.js", //输出的为文件名,path: path.join(__dirname, 'dist'), //输出目录

	publicPath: "./", //公共文件路径
	
4、devtool,相当于开发调试工具
	
	eval 文档上解释的很明白,每个模块都封装到 eval 包裹起来,并在后面添加 //# sourceURL
	
	source-map 这是最原始的 source-map 实现方式,其实现是打包代码同时创建一个新的 sourcemap 文件,
	并在打包文件的末尾添加 //# sourceURL 注释行告诉 JS 引擎文件在哪儿
	
	hidden-source-map 文档上也说了,就是 soucremap 但没注释,没注释怎么找文件呢?貌似只能靠后缀,
	譬如xxx/bundle.js 文件,某些引擎会尝试去找 xxx/bundle.js.map
	
	inline-source-map 为每一个文件添加 sourcemap 的DataUrl,注意这里的文件是打包前的每一个文件而不是最后打包出来的,
	同时这个 DataUrl 是包含一个文件完整 souremap信息的 Base64 格式化后的字符串,而不是一个 url。
	
	eval-source-map 这个就是把 eval 的 sourceURL 换成了完整 souremap 信息的 DataUrl
	
	cheap-source-map 不包含列信息,不包含 loader 的 sourcemap,(譬如 babel 的 sourcemap)
	
	cheap-module-source-map 不包含列信息,同时 loader 的 sourcemap 也被简化为只包含对应行的。
	最终的 sourcemap 只有一份,它是 webpack 对 loader 生成的 sourcemap 进行简化,然后再次生成的。
	
5、module:

	辅助模块可以使用不同的loader来处理相应的文件,例如使用ES6语法就要使用babel-loader,
	
	处理css文件就要使用css-loader和style-loader,需要注意的是执行顺序是从后往前执行的,
	最后的loader最先执行这点需要注意
	
	处理图片就要用file-loader

6、devServe 本地服务器

	可以开启本地服务器以及热替换 代码如下,open:true,hot:true,port:8080,
	
7、resolve:解析模块的规则

	(1)、resolve.alias,
    resolve.alias 配置项通过别名来把原导入路径映射成一个新的导入路径
    
    (2)、extensions
    配置省略文件路径的后缀名
    
    (3)modules
    resolve.modules 配置 Webpack 去哪些目录下寻找第三方模块,默认是只会去 node_modules 目录下寻找。
    可指定目录,提升速度,默认就是 modules: [“node_modules”],一般可不写
    
8、plugins: 插件
     plugin是用于扩展webpack的功能,各种各样的plugin几乎可以让webpack做任何与构建相关关的事情。
     plugin的配置很简单,plugins配置项接收一个数组,数组里的每一项都是一个要使用的plugin的实例,
     plugin需要的参数通过构造函数传入。
     
     使用plugin的难点在于plugin本身的配置项,而不是如何在webpack中引入plugin,
     几乎所有webpack无法直接实现的功能,都能找到开源的plugin去解决,我们要做的就是去找更据自己的需要找出相应的plugin。

谢谢观看

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值