本质上,webpack 基于node平台,利用 node 的各种api来实现 javascript 应用程序的一个静态模块的打包工具。在打包过程中,构建依赖关系,并且实现模块引用预处理,以及缓存等。
1、然后,新增apply函数,在里面写好插件需要切入的webpack任务点。目前HtmlResWebpackPlugin插件只用到emit这个任务点,其它几个仅作为演示。第三步,调用addFileToWebpackAsset *** ,写compilation.assets,借助webpack生成html文件。
2、webpack 插件是一个具有 apply 属性的 JavaScript 对象。 apply 属性会被 webpack compiler 调用,并且 compiler 对象可在整个编译生命周期访问。
3、这里推荐 Tecvan 大佬写的 《Webpack 插件架构深度讲解》UniUsingComponentsWebpackPlugin 插件主要用到了三个 compiler 钩子。
4、该插件主要用来压缩css文件 使用:安装 webpack.config.js配置 参数:assetNameRegExp :一个正则表达式,指示应优化最小化的资源的名称。
1、webpack可以很方便使用node_module、es6或者样式注入等功能,作为最初级的功能定位性价比更高,webpack输入输出都以js为主,对html兼顾较少,可用组件不多很难达到可用的程度。
2、优势在于: 比起grunt,gulp,在配置上要简单很多。另外,grunt,gulp只是作为打包工具,如果要做模块化开发,还必须引入requirejs或者seajs。
3、兼容性好:比如使用Require *** 来加载和打包,而Browserify和Webpack适用于构建大型应用。它们使得那些艰难的任务不再让人望而生畏。