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

网站微场景代码泰安房产网站建设

网站微场景代码,泰安房产网站建设,宁波网站建设网站排名优化,某网站搜索引擎优化项目打包 打包指的是将项目中的源代码和资源文件进行处理,生成可在生产环境中运行的静态文件的过程 打包命令 npm run build 本地预览 本地预览是指在本地通过静态服务器模拟生产服务器运行项目的过程 安装本地服务包 npm i -g serve 启动 serve -s build 浏…

项目打包

打包指的是将项目中的源代码和资源文件进行处理,生成可在生产环境中运行的静态文件的过程

打包命令
npm run build

本地预览

本地预览是指在本地通过静态服务器模拟生产服务器运行项目的过程

安装本地服务包
npm i -g serve
启动
serve -s build
浏览器访问生成的本地地址 一般是3000端口
http://localhost:3000/

打包优化

路由懒加载

什么是路由懒加载?

路由懒加载是指路由的JS资源只有在被访问的时候才会动态获取,目的是为了优化项目首次打开的时间

配置路由懒加载
  1. 把路由修改为由React提供的lazy函数进行动态导入
  2. 使用React内置的Suspense组件包裹路由中element选项对应的组件
lazy函数进行动态导入
// 格式
const 命名 = lazy(()=>import('路径'))const Month = lazy(()=>import('@/page/Month/index'))
 Suspense组件包裹路由组件
const router = createBrowserRouter([{path: "/",element: <Suspense> <Layout/></Suspense>,children: [{path: "/year",element:<Suspense><Year/></Suspense>,},{index:true,element: <Suspense><Month/></Suspense> ,},],}
])

包体积分享

什么是包体积分析

通过可视化的方式,直观的体现项目中各种包打包之后的体积大小方便做优化

实现

  1. 安装包   通过 source-map-explorer
  2. 配置命令指定要分析的js文件
安装
npm i source-map-explorer
 配置命令指定要分析的js文件
 "scripts": {"start": "craco start","build": "craco build","server": "json-server ./mock/home.json --port 3005","explorer": "source-map-explorer 'build/static/js/*.js'"  //分析命令},
运行命令
npm run explorer

运行成功会自动在浏览器打开分析图

 CDN优化

什么是CDN?

CDN是一种内容分发网络服务,当用户请求网站内容时,有离用户最近的服务器将缓存资源内容传递给用户

哪些资源可以放到CDN服务器?

体积较大的非业务JS文件,比如react,react-dom

  1. 体积较大,需要利用CDN文件在浏览器的缓存特性,加快加载时间
  2. 非业务JS文件,不需要经常做变动,CDN不用频繁更新缓存
项目中怎么实现 ?
  1. 把需要做CDN缓存的文件排除在打包之外(react,react-dom)
  2. 以CDN的方式重新引入资源(react,react-dom)
 通过 craco 来修改 webpack 配置,从而实现 CDN 优化  

craco.config.js 中:

const path = require('path')const { whenProd, getPlugin, pluginByName } = require('@craco/craco')module.exports = {webpack:{alias:{'@':path.resolve(__dirname,'src')},configure: (webpackConfig) => {// 定义 CDN 资源(默认空,生产环境覆盖)let cdn = {js: [],css: []}// 对webpack进行配置whenProd(() => {// 只会在生产环境执行webpackConfig.externals = {react: 'React','react-dom': 'ReactDOM',redux: 'Redux',}// 生产环境使用 CDNcdn = {js: ['https://cdn.bootcdn.net/ajax/libs/react/17.0.2/umd/react.production.min.js','https://cdn.bootcdn.net/ajax/libs/react-dom/17.0.2/umd/react-dom.production.min.js','https://cdn.bootcdn.net/ajax/libs/redux/4.1.0/redux.min.js'],css: []}})// 修改 HtmlWebpackPlugin 配置const { isFound, match } = getPlugin(webpackConfig,pluginByName('HtmlWebpackPlugin'))if (isFound) {// 确保 match 对象结构正确(可能需要根据实际版本调整)const htmlPlugin = match.plugin || match; // 兼容不同版本htmlPlugin.options = htmlPlugin.options || {};htmlPlugin.options.cdn = cdn; // 注入 CDN 配置}return webpackConfig}}
}

  public/index.html 中:

<!DOCTYPE html>
<html lang="en"><head><meta charset="utf-8" /><link rel="icon" href="%PUBLIC_URL%/favicon.ico" /><meta name="viewport" content="width=device-width, initial-scale=1" /><meta name="theme-color" content="#000000" /><metaname="description"content="Web site created using create-react-app"/><link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" /><!--manifest.json provides metadata used when your web app is installed on auser's mobile device or desktop. See https://developers.google.com/web/fundamentals/web-app-manifest/--><link rel="manifest" href="%PUBLIC_URL%/manifest.json" /><!--Notice the use of %PUBLIC_URL% in the tags above.It will be replaced with the URL of the `public` folder during the build.Only files inside the `public` folder can be referenced from the HTML.Unlike "/favicon.ico" or "favicon.ico", "%PUBLIC_URL%/favicon.ico" willwork correctly both with client-side routing and a non-root public URL.Learn how to configure a non-root public URL by running `npm run build`.--><title>React App</title><!-- 动态加载 CSS CDN --><% if (htmlWebpackPlugin.options.cdn && htmlWebpackPlugin.options.cdn.css) { %><% for (const css of htmlWebpackPlugin.options.cdn.css) { %><link rel="stylesheet" href="<%= css %>" /><% } %><% } %></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><!-- 动态插入cdn资源 --><% if (htmlWebpackPlugin.options.cdn && htmlWebpackPlugin.options.cdn.js) { %><% for (const js of htmlWebpackPlugin.options.cdn.js) { %><script src="<%= js %>"></script><% } %><% } %><!--This HTML file is a template.If you open it directly in the browser, you will see an empty page.You can add webfonts, meta tags, or analytics to this file.The build step will place the bundled scripts into the <body> tag.To begin the development, run `npm start` or `yarn start`.To create a production bundle, use `npm run build` or `yarn build`.--></body>
</html>


文章转载自:

http://5KQKVbtl.dxhdn.cn
http://VKX4Su7v.dxhdn.cn
http://VwkNSLSx.dxhdn.cn
http://2fPpG91K.dxhdn.cn
http://Xw7yruWJ.dxhdn.cn
http://OHZjKLLW.dxhdn.cn
http://X4mQjAXI.dxhdn.cn
http://vdDHB8zM.dxhdn.cn
http://BPA4VcfN.dxhdn.cn
http://EvBJ7aFZ.dxhdn.cn
http://i7fWca4S.dxhdn.cn
http://0cN7hX2k.dxhdn.cn
http://1zgaJX8n.dxhdn.cn
http://kuIo2bDK.dxhdn.cn
http://ss3tOYwc.dxhdn.cn
http://ufUCYdwa.dxhdn.cn
http://NuZUaHFM.dxhdn.cn
http://XWHFocCP.dxhdn.cn
http://iOkcUMam.dxhdn.cn
http://YB1z86Nv.dxhdn.cn
http://XwtFpf9K.dxhdn.cn
http://XaeBpcYl.dxhdn.cn
http://9oVgvA12.dxhdn.cn
http://O6jusHu4.dxhdn.cn
http://Dagt8aqW.dxhdn.cn
http://aW514rg2.dxhdn.cn
http://Uaa1LoZy.dxhdn.cn
http://yuZX3fiV.dxhdn.cn
http://dwoIebHw.dxhdn.cn
http://FoyMmuSz.dxhdn.cn
http://www.dtcms.com/wzjs/622344.html

相关文章:

  • 南通经济开发区城乡建设局网站网站空间怎么使用
  • 网站在哪里实名认证wordpress 搬迁插件
  • php5 mysql网站开发实例精讲WordPress全球用户量2019
  • 天津重型网站建设推荐网站设计公司 知道万维科技
  • 株洲营销型网站建设代理平台登录
  • 富源县建设局的网站是什么做的比较好旅游网站
  • 外贸网站使用攻略公司网站开发费分录是
  • 服饰品牌网站建设做民宿推广都有哪些网站
  • 做门头上那个网站申报企业工商信息查询系统官网
  • 网站建设公司市场策划方案济南工程建设验收公示网
  • 免费的视频网站如何赚钱企业it外包服务公司
  • 移动端网站建设的请示朋友圈海报用什么网站做的
  • 怎样做网站标题的图标在线识别图片来源
  • 邢台做网站口碑好延安网站建设费用
  • 阿里云1m宽带做网站卡吗平台网站如何优化
  • 百度seo排名优化是什么百度seo设置
  • 建设网站建设网站建站公司常见提成比例
  • 淘宝店铺如何和别的网站做链接网站代理加盟
  • 子页网站设计沈阳最新通知今天重要消息
  • 网站开发与制作论文开题8大营销工具指的是哪些
  • 网站建设小程序企业网站建设总结
  • 手机端网站提交表单验证代码企业网站建设分析报告
  • 重庆食品商城网站设计网站开发实用技术介绍
  • 网站建设沈阳下载莱芜都市网app
  • 做菠菜网站判多久网站建设公司 云智互联
  • 云南高端网站制作价格wordpress 采集 api
  • 那个网站报道过鸟巢建设无锡网红餐厅
  • gulf oil wordpress镇江网站seo
  • 精品设计网站crm系统是什么
  • 吉林省长春市建设局网站wordpress换轮播海报