环境搭建日志之create-react-app unable pwa
create-react-app创建的项目,会默认添加Progressive Web Apps(以下简称
pwa)的环境,即使serviceWorker.unregister()也会生产环境中输出相应文件。本文主要介绍有洁癖不打包输出pwa相关内容,主要是不eject的情况下怎么做(面向谷歌编程没有结果后的结果)。
asset-manifest.json不和pwa直接相关,但作为例子一并去除。
还原问题
准备一个cra基础环境,并添加好customize-cra,这里直接使用react-env
yarn build打包看看情况:
多了pwa的一些东西。
分析pwa配置
思路:在webpack配置文件下找到pwa相关扩展项位置,然后在customize-cra配置修改项目找到对应位置将其修改或删除。
准备一个cra创建的备用环境并暴露出webpack配置:
shell
# 创建
yarn create react-app my-app
# cd my-app
yarn eject
下一步,打开config目录找到webpack.config.js,在里面检索plugins关键词,
多出来的文件有asset-manifest.json、precache-xxx.js和service-worker.js,讲名称作为关键词检索位置:
两个扩展配置位于plugins数组中,由于react-scripts版本不同,可能位置也会不同,下面去没有eject的环境中找到对应位置。
删除相关配置项
查看webpack配置项
js
const addCustomize = () => (config) => {
// 输出配置项目
console.log(config.plugins)
return config
}
两个配置分别位于7、9位置,将其删除即可。
delete删除数组会留空,所以使用splice
js
const addCustomize = () => (config) => {
// 删除ManifestPlugin配置,不生成asset-manifest.json
config.plugins.splice(6, 1)
// 删除WorkboxWebpackPlugin配置,不使用pwa
config.plugins.splice(7, 1)
return config
}
现在yarn build就不会产生其它文件了

写在最后
此方法是没有找到配置项的不保险操作,如有相关快捷配置,期待你的留言!???
![[微笑]](/face/0.gif)
![[嘻嘻]](/face/1.gif)
![[哈哈]](/face/2.gif)
![[可爱]](/face/3.gif)
![[可怜]](/face/4.gif)
![[挖鼻]](/face/5.gif)
![[吃惊]](/face/6.gif)
![[害羞]](/face/7.gif)
![[挤眼]](/face/8.gif)
![[闭嘴]](/face/9.gif)
![[鄙视]](/face/10.gif)
![[爱你]](/face/11.gif)
![[泪]](/face/12.gif)
![[偷笑]](/face/13.gif)
![[亲亲]](/face/14.gif)
![[生病]](/face/15.gif)
![[太开心]](/face/16.gif)
![[白眼]](/face/17.gif)
![[右哼哼]](/face/18.gif)
![[左哼哼]](/face/19.gif)
![[嘘]](/face/20.gif)
![[衰]](/face/21.gif)
![[委屈]](/face/22.gif)
![[吐]](/face/23.gif)
![[哈欠]](/face/24.gif)
![[抱抱]](/face/25.gif)
![[怒]](/face/26.gif)
![[疑问]](/face/27.gif)
![[馋嘴]](/face/28.gif)
![[拜拜]](/face/29.gif)
![[思考]](/face/30.gif)
![[汗]](/face/31.gif)
![[困]](/face/32.gif)
![[睡]](/face/33.gif)
![[钱]](/face/34.gif)
![[失望]](/face/35.gif)
![[酷]](/face/36.gif)
![[色]](/face/37.gif)
![[哼]](/face/38.gif)
![[鼓掌]](/face/39.gif)
![[晕]](/face/40.gif)
![[悲伤]](/face/41.gif)
![[抓狂]](/face/42.gif)
![[黑线]](/face/43.gif)
![[阴险]](/face/44.gif)
![[怒骂]](/face/45.gif)
![[互粉]](/face/46.gif)
![[心]](/face/47.gif)
![[伤心]](/face/48.gif)
![[猪头]](/face/49.gif)
![[熊猫]](/face/50.gif)
![[兔子]](/face/51.gif)
![[ok]](/face/52.gif)
![[耶]](/face/53.gif)
![[good]](/face/54.gif)
![[NO]](/face/55.gif)
![[赞]](/face/56.gif)
![[来]](/face/57.gif)
![[弱]](/face/58.gif)
![[草泥马]](/face/59.gif)
![[神马]](/face/60.gif)
![[囧]](/face/61.gif)
![[浮云]](/face/62.gif)
![[给力]](/face/63.gif)
![[围观]](/face/64.gif)
![[威武]](/face/65.gif)
![[奥特曼]](/face/66.gif)
![[礼物]](/face/67.gif)
![[钟]](/face/68.gif)
![[话筒]](/face/69.gif)
![[蜡烛]](/face/70.gif)
![[蛋糕]](/face/71.gif)