<!-- index.html -->
<script>
// Check that service workers are supported
if ('serviceWorker' in navigator) {
// Use the window load event to keep the page load performant
window.addEventListener('load', () => {
navigator.serviceWorker.register('/service-worker.js');
});
}
</script>
<link rel="manifest" href="/static/manifest.json">
构建
基于 Webpack5
Webpack 基本配置
Webpack Dev 环境配置
Webpack Prod 环境配置
Babel配置
我们已经在Webpack里配置了
babel-loader
以启用babel,并且把preset指向了我们的babel.config.js
文件通过引入
babel-preset-expo
替代module:metro-react-native-babel-preset
来解决其导致Webpack Tree Shaking 失效的问题添加 PWA 功能
使用
workbox
自动生成SW相关文件,达到最基本的PWA功能配置 manifest.json 文件
配置入口文件
环境配置
当前项目需要支持 开发环境,测试环境,生产环境,并且需沿用项目内已有的环境配置;基于此引入
react-native-web-config
插件配置