当前位置: 首页 > news >正文

贵州省住房和城乡建设厅网站-首页项目立项查询平台

贵州省住房和城乡建设厅网站-首页,项目立项查询平台,网站建设的讲话要求,网站出现乱码一、React项目打包流程 一、React项目打包流程1. 项目打包打包命令#xff1a;npm run build2. 预览接着命令行会提示执行#xff1a; 先#xff1a;npm install -g serve 然后执行此命令#xff1a;serve -s build二、打包优化 - 配置路由懒加载 二、打包优化 - 配置路…一、React项目打包流程 一、React项目打包流程1. 项目打包打包命令npm run build2. 预览接着命令行会提示执行 先npm install -g serve 然后执行此命令serve -s build 二、打包优化 - 配置路由懒加载 二、打包优化 - 配置路由懒加载 路由懒加载是指路由的JS资源只有在被访问时才会动态获取目的是为了优化项目首次打开的时间1. 把路由修改为由React提供的lazy函数进行动态导入 2. 使用React内置的Suspense组件包裹路由中element选项对应的组件代码如下所示 // 路由配置 import { Suspense, lazy } from react; import { AuthRoute } from /components/AuthRoute; import { createBrowserRouter } from react-router-dom;// 一级路由 import Layout from /pages/Layout; import Login from /pages/Login;// 1. lazy函数对二级路由组件进行导入 const Home lazy(() import(/pages/Home)) const Article lazy(() import(/pages/Article)) const Publish lazy(() import(/pages/Publish))// 二级路由 // import Home from /pages/Home; // import Article from /pages/Article; // import Publish from /pages/Publish;// 配置路由实例 const router createBrowserRouter([{path: /,// 根据权限的有无控制路由跳转element: AuthRouteLayout //AuthRoute,children: [{path: home,element: Suspense fallback加载中Home //Suspense},{path: article,element: Suspense fallback加载中Article //Suspense},{path: publish,element: Suspense fallback加载中Publish //Suspense}]},{path: /login,element: Login /} ])export default router; 三、打包优化 - 包体积分析 三、打包优化 - 包体积分析通过可视化的方式直观的体现项目中各种包打包之后的体积大小方便做优化1. 安装包 -- source-map-explorernpm i source-map-explorer2. 配置命令指定要分析的js文件在package.json内scripts添加如下代码analyze: source-map-explorer build/static/js/*.jsscripts: {start: craco start,build: craco build,test: craco test,eject: craco eject,analyze: source-map-explorer build/static/js/*.js } 四、打包优化 - CDN优化 四、打包优化 - CDN优化1. 什么是CDN CDN是一种内容分发网络服务当用户请求网站内容时由离用户最近的服务器将缓存的资源内容传递给用户2. 哪些资源可以放到CDN服务器 体积较大的非业务JS文件比如react、react-dom ⑴. 体积较大需要利用CDN文件在浏览器的缓存特性加快加载时间 ⑵. 非业务JS文件不需要经常做变动CDN不用频繁更新缓存3. 项目中怎么做 ⑴. 把需要做CDN缓存的文件排除在打包之外reactreact-dom ⑵. 以CDN的方式重新引入资源react、react-dom1. craco.config.js代码如下:// 扩展webpack的配置 const path require(path); // 引入辅助函数 const {whenProd, getPlugin, pluginByName} require(craco/craco);module.exports {// webpack 配置webpack: {// 配置别名alias: {// 约定使用表示src文件所在路径: path.resolve(__dirname, src)},// 配置CDNconfigure: webpackConfig {let cdn;whenProd(() {// key: 不参与打包的包由dependencies依赖项中的key决定// value: cdn文件中挂载于全局的变量名称为了替换之前在开发环境下webpackConfig.externals {react: React,react-dom: ReactDOM}// 配置现成的cdn资源地址// 实际开发的时候用公司自己花钱买的cdn服务器cdn {js: [https://cdnjs.cloudflare.com/ajax/libs/react/18.1.0/umd/react.production.min.js,https://cdnjs.cloudflare.com/ajax/libs/react-dom/18.1.0/umd/react-dom.production.min.js]}});// 通过htmlWebpackPlugin插件在public/index.html注入cdn资源urlconst {isFound, match} getPlugin(webpackConfig, pluginByName(HtmlWebpackPlugin));if (isFound) {// 找到了HtmlWebpackPlugin的插件match.userOptions.cdn cdn;}return webpackConfig;}} }2. public文件夹下index.html代码如下bodynoscriptYou need to enable JavaScript to run this app./noscriptdiv idroot/div!-- 动态插入cdn资源url 加载第三发包的 CDN 链接 --% htmlWebpackPlugin.userOptions.cdn.js.forEach(cdnURL { %script src% cdnURL %/script% }) % /body
http://www.dnsts.com.cn/news/275759.html

相关文章:

  • 安阳企业网站优化排名找公司做网站需要买服务器
  • 幼教机构网站开发设计论文建设网站内容
  • 商务网站开发实训体会互联网最吃香的职业
  • 网站开发要学的代码dz网站模版
  • asp网站好还是php网站好沧州网站制作的流程
  • 布吉附近做网站广州天河区必去的地方
  • 响应式网站好处河南建设工程协会网站
  • 安庆城乡建设局网站seo百科
  • 镇江建设网站公司做网站品
  • 学校网站 网站建设wordpress动漫主题曲
  • 怎样制作公司网站在线代码编辑器
  • 做网站后台指的那二次开发客户
  • 网站关键词多长企业网站开发框架
  • 我想建网站做推广内网代理ip建设网站
  • 电商网站如何提高转化率手机兼职工作有哪些
  • 昆山网站建设义搏义乌开锁做网站哪个好
  • 在那里做网站勘察设计人才网
  • 淘宝放单网站怎么做网站修改标题
  • 局网站建设电商网站代码模板
  • 网站建设实训心得体会300字怎么下载Wordpress
  • 阿里云专有网络做网站北京赛车网站开发多少钱
  • 网站盈利了苏州seo培训多少钱
  • 广州英铭网站建设创意产品设计网站推荐
  • 网站建设可用性徐汇网站开发培训班
  • 创办一个网站需要多少钱xwiki做的网站
  • 怎么用wordpress打开网站江西建设质量安全监督网站
  • 网站关键词排名消失wordpress时间格式
  • 5站合一 网站建设桂林市建设工程造价管理站网站
  • 关于网站建设议案网站开发的目的意义
  • 帮客户做网站挣钱吗郑州电商网站开发