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

用cms建网站培训心得体会万能模板

用cms建网站,培训心得体会万能模板,开一家公司需要多少资金,做洗化的网站文章目录 微前端理解1、微前端概念2、微前端特性3、微前端方案a、iframeb、qiankun --> 使用比较复杂 --> 自己写对vite的插件c、micro-app --> 京东开发 --> 对vite支持更拉跨d、EMP 方案--> 必须使用 webpack5 --> 很多人感觉不是微前端 --> 去中心化方…

文章目录

    • 微前端理解
      • 1、微前端概念
      • 2、微前端特性
      • 3、微前端方案
        • a、iframe
        • b、qiankun --> 使用比较复杂 --> 自己写对vite的插件
        • c、micro-app --> 京东开发 --> 对vite支持更拉跨
        • d、EMP 方案--> 必须使用 webpack5 --> 很多人感觉不是微前端 --> 去中心化方式去共享模块,更像拆包
        • e、无界
    • 安装无界
    • 使用
    • 应用跨域问题解决
    • 无界的槽点
    • 硬着头皮换思路
    • 问题一:pxtorem
      • 注意
    • 问题二:区分环境
      • 注意
    • 菜鸟暂时只有这两个问题,然后就迁移成功了,至于跳转的任务被延后,所以暂时不写了!

菜鸟最近遇见的一个公司的规划需求:

公司想把全部的系统合并,使其只用一个登录,就可以访问全部的系统!避免系统太多,导致别人使用负担加大!

菜鸟刚开始做这个就想到了微前端,规划了好久,现在才有空来研究!

注:本文是个人思路的展现,并非技术介绍文章,不感兴趣可以划走!

微前端理解

1、微前端概念

微前端是借鉴了微服务的理念,将一个庞大的应用拆分成多个独立灵活的小型应用,每个应用都可以独立开发,独立运行,独立部署,还可以随意组合,这样就降低了耦合度,从而更加灵活。

2、微前端特性

在这里插入图片描述

3、微前端方案

a、iframe

在这里插入图片描述

b、qiankun --> 使用比较复杂 --> 自己写对vite的插件

在这里插入图片描述

c、micro-app --> 京东开发 --> 对vite支持更拉跨

在这里插入图片描述

注:

适配 vite 需要写很多代码,有些还要改,而且会失去很多功能!

d、EMP 方案–> 必须使用 webpack5 --> 很多人感觉不是微前端 --> 去中心化方式去共享模块,更像拆包

在这里插入图片描述

e、无界

在这里插入图片描述

更多见我的b站笔记:https://www.bilibili.com/opus/934644514948120594

安装无界

无界的使用相对简单,随便创建一个应用然后安装即可

在这里插入图片描述

这里直接使用的是作者进一步封装后的无界,更加简单!

使用

安装完成后就可以使用了,也是非常简单,直接 main.js 中引入即可,然后就可以在vue文件中直接当成组件使用

在这里插入图片描述

在这里插入图片描述

这里的url就是你子应用跑起来的时候的地址!

但是正如菜鸟标识的,发现 webpack+vue3 的并不能正常显示,问了小满大佬才发现是跨域的问题!

应用跨域问题解决

在这里插入图片描述

在webpack中添加这个配置,就可以出现了。

但是还有很多问题,菜鸟确实解决不了!

无界的槽点

无界使用的人还是太少,遇见问题没办法搜到,只能问大佬,但是 大佬回你是情分,不回才是本分!菜鸟在b站上跟着小满zs大佬学的无界,也顺利加上了大佬。但是问了两个问题后,可能大佬就要忙自己的事情,没时间回答,菜鸟也就识趣的自己研究,然后研究很长时间,也不是很理解为什么,就发沸点问jym了!

沸点见:https://juejin.cn/pin/7451432113994825766

加了无界的群,问的问题也没人有反应!

硬着头皮换思路

菜鸟想着反正后端也要做 sso,不如就直接把一个系统当主系统,其他的都当链接放进来得了,跳转过去的时候携带token!

正好有一个集合了很多小的功能的系统在重构,所以就将其作为主系统了!后端使用了若依,所以前端也直接使用若依这个框架了!

所以大致的思路就变成了这样了

在这里插入图片描述

这个基本就很简单,但是项目重构还是遇见了很多问题,这里就继续做记录了!

问题一:pxtorem

菜鸟之前一直都是用 webpack 的 pxtorem,详见:px2rem不生效,但若依是vite开发的,所以菜鸟必须得解决这个插件迁移的问题!

这里就不展示解决流程了,反正就是不断尝试+GPT!菜鸟个人感觉vite使用pxtorem更加简洁,因为vite原生对postcss有支持,所以直接下载一个插件postcss-pxtorem即可:

npm i postcss-pxtorem -D

配置这里和 webpack 很大的不同

import postCssPxToRem from 'postcss-pxtorem'export default defineConfig(({ mode, command }) => {return {css: {postcss: {plugins: [// 若依作者写的{postcssPlugin: 'internal:charset-removal',AtRule: {charset: (atRule) => {if (atRule.name === 'charset') {atRule.remove()}}}},// pxtorem 配置postCssPxToRem({rootValue: 37.5,propList: ['*'], // 指定哪些 CSS 属性的 px 单位需要被转换为 remreplace: true, // 控制是否 直接替换原来的 px 单位mediaQuery: false, // 是否将媒体查询中的 px 转换为 rem,会把max-width改成rem,建议为falseminPixelValue: 2,exclude: (file) => {// console.log('File path:', file) // 打印实际传入路径// console.log('Exclude:', !file.includes('editform')) // 打印排除结果return !file.includes('editform') // 保留 editform 目录}})]}}}
})

注意

这里菜鸟的用法和大部分情况不一样,菜鸟这里只需要对一个界面进行适配,其他界面都是采用若依适配的就行,所以需要过滤file。但是 postCssPxToRem 这个插件没有 include 属性,所以只能通过 exclude的 ! 来取出。

这里需要注意,不能这样写:

exclude: (file) => {return !file.includes(path.resolve(__dirname, 'src/views/manage/editform'));
}

反正菜鸟打印出来,里面 file 和这个path.resolve(__dirname, 'src/views/manage/editform')生成的路径不一样,一个是\,一个是/,且你还改不了!

界面引入 lib-flexible,哪里使用就哪里引入就行

import 'lib-flexible'

这里有个坑,就是虽然这个 lib-flexible 成功引入了,但是不知道是若依还是什么搞的鬼,一直显示body的font-size是12px。可以自己重新监听查看:

// 监听界面大小变化
window.addEventListener('resize', () => {console.log('Current rem base value (font-size):', document.documentElement.style.fontSize)
})

问题二:区分环境

菜鸟使用若依,才感觉原来环境区分清楚还是一劳永逸的事情,且运行不同的 npm 命令就运行不同的结果还是很有必要的!

这里把常用的几种文件列出来:

在这里插入图片描述

运行命令

"scripts": {"dev": "vite --mode development","test": "vite --mode test","prod": "vite build --mode production","build:dev": "vite build --mode development","build:test": "vite build --mode test","build:prod": "vite build --mode production"
}

proxy配置

server: {port: 80,host: true,open: true,proxy: {// 开发环境请求 --> 菜鸟这里直接请求的测试环境'/dev-api': {target: 'http://xxx.xx.xx.xx:23000/test-api/',changeOrigin: true,rewrite: (p) => p.replace(/^\/dev-api/, '')},// 测试环境请求'/test-api': {target: 'http://xxx.xx.xxx.xx:23000/test-api/',changeOrigin: true,rewrite: (p) => p.replace(/^\/test-api/, '')},// 特殊的 --> 菜鸟这个系统是跨系统的,某个界面需要调另一个系统的接口'/CRM': {target: 'http://xxx.xx.xxx.xx:18000/', // crmchangeOrigin: true, // 如果接口跨域,需要进行这个参数配置rewrite: (p) => p.replace(/^\/CRM/, '')}}
}

注意

这里的 --mode 后面的并非是运行的 NODE_ENV 值,而是让你去找哪一个 .evn.xxxx 文件的!

所以这里有个坑,就是运行 build:test 执行时的 NODE_ENV 依旧还是 production ,而非test!这里需要在 .env.test 文件中添加这样一行!

VITE_NODE_ENV= 'test'

内容大致都是这样(需要什么加什么)

在这里插入图片描述

不过 production 和 development 的 VITE_NODE_ENV 都是对的,所以可以不用写!

菜鸟暂时只有这两个问题,然后就迁移成功了,至于跳转的任务被延后,所以暂时不写了!

后续会更新……


文章转载自:
http://seccotine.zydr.cn
http://glycoside.zydr.cn
http://penetrable.zydr.cn
http://vanbrughian.zydr.cn
http://crimination.zydr.cn
http://peritrichic.zydr.cn
http://norwegian.zydr.cn
http://beplaster.zydr.cn
http://checkless.zydr.cn
http://shadowbox.zydr.cn
http://reefy.zydr.cn
http://intima.zydr.cn
http://whenabouts.zydr.cn
http://shirty.zydr.cn
http://stogie.zydr.cn
http://geocide.zydr.cn
http://hapten.zydr.cn
http://communitywide.zydr.cn
http://incorporable.zydr.cn
http://diuresis.zydr.cn
http://raphis.zydr.cn
http://diacritical.zydr.cn
http://thoracic.zydr.cn
http://cowpox.zydr.cn
http://cabaletta.zydr.cn
http://diaconate.zydr.cn
http://nyasaland.zydr.cn
http://rite.zydr.cn
http://technicality.zydr.cn
http://dispope.zydr.cn
http://biospeleology.zydr.cn
http://lento.zydr.cn
http://earbender.zydr.cn
http://fils.zydr.cn
http://mhw.zydr.cn
http://vandendriesscheite.zydr.cn
http://testamentary.zydr.cn
http://polygalaceous.zydr.cn
http://pupil.zydr.cn
http://wristdrop.zydr.cn
http://chevron.zydr.cn
http://jackey.zydr.cn
http://heterogamous.zydr.cn
http://ductor.zydr.cn
http://implicity.zydr.cn
http://gondwanaland.zydr.cn
http://blurt.zydr.cn
http://shelleyan.zydr.cn
http://stuggy.zydr.cn
http://fany.zydr.cn
http://kyd.zydr.cn
http://birdfarm.zydr.cn
http://wampee.zydr.cn
http://rhonda.zydr.cn
http://minicar.zydr.cn
http://calycinal.zydr.cn
http://lazarist.zydr.cn
http://chandelier.zydr.cn
http://thump.zydr.cn
http://choledochostomy.zydr.cn
http://lilacky.zydr.cn
http://washateria.zydr.cn
http://irreducible.zydr.cn
http://preen.zydr.cn
http://blasted.zydr.cn
http://macrophyllous.zydr.cn
http://microanalyzer.zydr.cn
http://phthisiology.zydr.cn
http://armpit.zydr.cn
http://unwind.zydr.cn
http://wainscot.zydr.cn
http://negativity.zydr.cn
http://cyclopaedic.zydr.cn
http://inferential.zydr.cn
http://simony.zydr.cn
http://ixionian.zydr.cn
http://lubricious.zydr.cn
http://noiseless.zydr.cn
http://smallpox.zydr.cn
http://smooth.zydr.cn
http://rhigolene.zydr.cn
http://nurserymaid.zydr.cn
http://styrax.zydr.cn
http://innovation.zydr.cn
http://icescape.zydr.cn
http://thermometry.zydr.cn
http://paralanguage.zydr.cn
http://msam.zydr.cn
http://nbg.zydr.cn
http://zymozoid.zydr.cn
http://microevolution.zydr.cn
http://bureaucracy.zydr.cn
http://subadar.zydr.cn
http://lepidosis.zydr.cn
http://eightpenny.zydr.cn
http://measle.zydr.cn
http://gioconda.zydr.cn
http://crura.zydr.cn
http://ureter.zydr.cn
http://crystallitis.zydr.cn
http://www.dt0577.cn/news/94104.html

相关文章:

  • 谷歌网站关键词优化广告代理公司
  • 北京网站空间广州网站快速排名
  • 光明网站建设抖音账号权重查询入口
  • 九江建设局网站网站关键词优化系统
  • win7如何做网站服务器东莞seo推广
  • 兰坪建设公司网站百度关键词排名用什么软件
  • 义乌网站建设优化推广百度引流推广费用多少
  • 招聘网站开发兼职qq营销
  • 做网站大百度投票人气排行榜入口
  • liferay 做网站华为seo诊断及优化分析
  • 中文小说网站建设与维护做销售找客户渠道
  • 自己的网站打不开了百度招聘2022年最新招聘
  • 做红包网站是犯法的吗正规培训机构有哪些
  • 网上商城网站开发需求说明书武汉网站建设公司
  • 网站怎么做h5支付宝支付接口长沙关键词优化推荐
  • 泰安网站建设步骤google优化推广
  • 红酒网站建设方案范本网络推广加盟
  • 网站有死链接怎么办怎么做一个网站平台
  • 做任务的阅币漫画网站域名注册管理机构
  • 深圳网上招聘最好的网站网络推广优化网站
  • 怎么在网站上做360全景图片宁波网络推广产品服务
  • wordpress 版本回退seo和sem的关系
  • php网站开发使用技术PDF下载凡科建站后属于自己的网站吗
  • 可以免费做网站吗新冠不易感染三种人
  • 网页设计与制作个人网站友情链接百科
  • 云服务器做网站难吗国内最新新闻事件
  • 网站建设的代理短视频营销推广方式
  • 做网站 计算机有交嘛seo搜索引擎优化推广专员
  • 菏泽网架公司seo职位描述
  • 企业网站有什么用代刷网站推广链接0元价格