利用webpack和汇总怎么对组件库进行打包

  介绍

本篇文章为大家展示了利用webpack和汇总怎么对组件库进行打包,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。


webpack算是使用程序员使用最多的打包工具,面试中往往会问到webpack的相关问题,而汇总被问到的要少很多。导致这种现象的一个原因是,应用开发使用webpack,库开发使用汇总的说法。

但是两个打包工具都有很强大的插件开发功能,功能差异越来越模糊,但是汇总使用起来更加简洁,而且能打出能小体积的文件。但当我们做前端应用时,性能分析往往要求更小的库,所以汇总更符合开发库的要求。

这次算是一个打包的实验,我们使用两个工具都对这个项目打一次包。

使用webpack打包

在打包之前,需要给包。json文件中添加或更改一些字段。

{   ,//程序主入口模块,用户引用的就是该模块的导出   ,“main":,“dist/bundle.js"   ,//项目包含的文件   ,“files":,   “src",才能   “才能dist"   ,),   ,//将反应和react-dom移动到该配置中,兼容依赖   ,“peerDependencies": {   “react"才能:,“^ 17.0.1",   “react-dom"才能:,“^ 17.0.1"   },   }

webpack打包需要用到很多库来处理不同的文件,这个项目比较小,就只用了两个库。

//, webpack.config.js   const  path =,要求(& # 39;path & # 39;);   const  MiniCssExtractPlugin =,要求(“mini-css-extract-plugin");      module.exports =, {   模式:大敌;& # 39;生产# 39;   ,条目:& # 39;。/src/Loading.jsx& # 39;   ,输出:{   文件名:,才能“index.js",   ,,路径:path.join (__dirname,,“。/dist/?,   ,,libraryTarget: & # 39; umd格式# 39;   },   ,优化:{   ,,最小化:假的,   },   ,解决:{   扩展才能:[& # 39;.jsx& # 39;】   },   ,模块:{   规则:,才能   ,,{   ,,,测试:,/\ . css/美元,   ,,,装载机:,(MiniCssExtractPlugin.loader, & # 39; css-loader ?模块# 39;],   ,,},   ,,{   ,,,测试:,/\。(js | jsx)/美元,   ,,,装载机:,“babel-loader"   ,,,排除:,node_modules/,   ,,},   ,,)   },   ,插件:[   new  MiniCssExtractPlugin({才能   ,,,文件名:“main.min.css",//,提取后的css的文件名   })才能   ,),   }

本来应该写开发和生产两个环境下的配置,但在这里只写了生产环境下的配置。

使用汇总打包

在rollup中使用的库比较多一点。

//, rollup.config.js//,解决汇总无法识别commonjs的问题   import  commonjs 得到& # 39;rollup-plugin-commonjs& # 39;//,巴别塔处理es6代码的转换   import  babel 得到& # 39;rollup-plugin-babel& # 39;//,决心将我们编写的源码与依赖的第三方库进行合并   import  resolve 得到& # 39;rollup-plugin-node-resolve& # 39;//,postcss处理css文件   import  postcss 得到& # 39;rollup-plugin-postcss& # 39;      export  default  {   ,输入:“src/Loading.jsx",   ,//打包一份cj和一份es的文件   ,输出:[   {才能   ,,,文件:“dist/loading.es.js",   ,,,格式:“es",   ,,,全局变量:{   ,,,的反应:,& # 39;反应# 39;   ,,},   ,,},{   ,,,文件:& # 39;dist/loading.cjs& # 39;,   ,,,格式:“cjs",   ,,,全局变量:{   ,,,的反应:,& # 39;反应# 39;   ,,},   ,,},   ,),   ,外部:[& # 39;反应# 39;],   ,插件:[   postcss才能(   ,,{,扩展:[& # 39;. css # 39;],}   ),才能   巴别塔({才能   ,才能排除:“node_modules/* *“,   ,,,runtimeHelpers:没错,   }),才能   commonjs才能(),   解决(),才能   ,),   }

发包到npm

发包到npm只需要几个命令。

npm 包

对项目打包后,命令行输出压缩包的详细信息。

利用webpack和汇总怎么对组件库进行打包

更新版本

npm  version  [& lt; newversion>, |, major  |, minor  |, patch  |, premajor  |, preminor  |, prepatch  |, prerelease  [——preid=& lt; prerelease-id>], |,从git)

根据本次改动的大小选择不同的命令。

最后使用发布命令。

npm 出版

上述内容就是利用webpack和汇总怎么对组件库进行打包,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。

利用webpack和汇总怎么对组件库进行打包