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

ppt模板免费的网站推荐前端vue

ppt模板免费的网站推荐,前端vue,seo服务器配置,百度seo关键词排名优化Monorepo架构可以把多个独立的系统放到一起联调#xff0c;本文记录基于pnpm workspace功能#xff0c;如何构建将vitepress和组件库进行联调#xff0c;并且使用turbo进行任务顺序编排。 技术栈清单#xff1a; pnpm 、vitepress 、turbo 一、需求分析 1、最终目标…Monorepo架构可以把多个独立的系统放到一起联调本文记录基于pnpm workspace功能如何构建将vitepress和组件库进行联调并且使用turbo进行任务顺序编排。 技术栈清单 pnpm 、vitepress 、turbo 一、需求分析 1、最终目标 我们最终需要实现这样的一个Monorepo项目架构 --project--package.json--packages--docs--package.json--project-one--package.json--pnpm-workspace.yaml其中各个目录功能如下 project根目录 packages子项目包 packages/docs基于vitepress的文档项目 packages/project-one组件库 2、Monorepo技术选型 实现Monorepo架构的方式主要有以下两种 lernayarn pnpm中workspace配置 这里选择后者因为基于pnpm的包管理逻辑使用软硬链接并且重复使用本地依赖包缓存可以大大提升安装效率节省依赖包存储空间。而且pnpm还继承了npm的所有功能并且支持node版本管理这里非常推荐pnpm。 3、为什么使用vitepress 之前有使用过vuepress后来vite伴随vue3一起被推出体验后果断切换到vite基于esmodule的调试模式调试效率直线提升。所以同理这里也同样推荐使用vitepress而不是vuepress。 4、turbo的作用 turbo全名turborepo本身也是一个Monorepo管理工具。这里主要使用其任务编排能力能够按正确的顺序执行Monorepo内的项目的任务。 例如Monorepo里有三个项目ABC。A和C还需要依赖于B。也就是说B项目需要先构建好后A和C才能构建。 正常每个项目都按照这个顺序做任务编排lint-build-test-deploy。即检查规范-构建项目-测试项目-部署项目。 从上图可以看到使用lerna时A、B、Cd这三个项目中的lint、build、deploy都是并行进行的。如果A、C都依赖B那么A、C在build的时候很可能 B d还没有build完成会拖慢A、C的build效率。 但是turbo能够将每个项目里的任务进行拓扑排序再执行。即图中B项目并行执行linttestbuild之后A和C就可以更快的执行构建大大提高了整体的效率。 二、开发 1、文件结构 首先创建如下文件结构 --project--package.json--packages--docs--package.json--project-one--package.json--pnpm-workspace.yaml--turbo.json创建完project根目录、packages/docs、packages/project-one后分别执行pnpm init做项目初始化生成package.json文件。 并且在跟目录创建 pnpm-workspace.yaml 文件 packages:- apps/*- packages/*识别packages和apps目录下的项目作为子项目。这样在执行pnpm add XXX --workspace时就会到子项目中去寻找。 2、turbo.json {$schema: https://turbo.build/schema.json,pipeline: {build: {dependsOn: [^build],outputs: [dist/**]},lint: {},dev: {cache: false,persistent: true},clean: {cache: false}} }3、根目录script命令行代理 #package.json scripts: {turbo-test: turbo run test,turbo-build: turbo run build,test: echo \Error: no test specified\ exit 1,docs:dev: pnpm --filter \docs\ dev,docs:build: pnpm --filter \docs\ build,docs:serve: pnpm --filter \docs\ serve,docs:preview: pnpm --filter \docs\ preview,one:dev: pnpm --filter \project-one\ dev }#docs package.json scripts: {dev: vitepress dev,build: vitepress build,serve: vitepress serve,preview: vitepress preview,test: echo \Error: no test specified\ }#project-one package.json scripts: {dev: node index2.js,build: node index2.js,test: echo \Error: no test specified\ }4、初始化project-one项目 代码如下 #index.js const addOne (x 0, msg 未填) {console.log(调用project-one的项目是, msg);return x 1; } export default addOne#index2.js console.log(nihao index2);5、初始化docs项目 docs使用vitepress构建打开终端进入docs目录执行下面命令对docs初始化 # 安装vitepress pnpm add -D vitepress # 初始化项目这里会出现交互式命令行默认回车下一步就行 pnpm dlx vitepress init调整docs/package.json代码如下 {name: docs,version: 1.0.0,description: ,main: index.js,scripts: {dev: vitepress dev,build: vitepress build,serve: vitepress serve,preview: vitepress preview,test: echo \Error: no test specified\},keywords: [],author: ,license: ISC,dependencies: {project-one: workspace:^,vitepress: 1.0.0-rc.20,vue: ^3.2.45},devDependencies: {} }创建docs/index.md文件代码如下 --- layout: home hero:name: VitePresstext: Vite Vue powered static site generator.tagline: Lorem ipsum...actions:- theme: brandtext: Get Startedlink: https://github.com/jkkdeng- theme: alttext: View on GitHublink: https://github.com/jkkdengfeatures:- icon: ️title: Simple and minimal, alwaysdetails: Lorem ipsum...- icon: ️title: Simple and minimal, alwaysdetails: Lorem ipsum...- icon: ️title: Simple and minimal, alwaysdetails: Lorem ipsum... --- script setup import addOne from project-one addOne(10,docs) /scriptimport addOne from project-one这行会在workspace中寻找project-one项目下的package.json文件识别main: index.js,配置然后获取到export的addOne方法。最终打印到浏览器控制台。 6、执行 到这里就基本都配置完成了这里我们把项目跑起来看下运行效果。 我们打开终端命令行并进入project根目录. 执行pnpm run turbo-build #turbo.json build: {dependsOn: [^build] },系统会找到turbo.json中pipelinebuild下的配置dependsOn: [^build]^build含义是指上游的build任务优先执行。猜测turbo应该对各个子包中的package.json进行扫描查看是否存在依赖关系例如我们这里是docs项目依赖project-one项目所有优先对proect-one项目进行build然后在对docs进行build。看下面的运行结果也的确如此。 执行pnpm run turbo-test #turbo.json test: {dependsOn: [build] },这里的build就是pipeline中的build任务含义是每个项目要执行自己的test任务就要先执行build任务。 可以看到执行顺序依次是 project-one - buildproject-one - testdocs - builddocs - test 执行pnpm run one:dev 执行pnpm run docs:dev 源码
http://www.pierceye.com/news/338636/

相关文章:

  • 文件下载网站源码免费做网站空间
  • 怎样给公司做一个网站做推广新网域名管理平台
  • 新蔡县做网站收多少钱二级分销利润分配模式
  • 鞍山百度网站怎么制作python培训视频教程
  • 湛江网站建设与网页网站建设需要什么证件
  • 东莞建站公司案例全网天下案例wordpress入门教程知乎
  • 网站策划书包含的内容化工设计网站
  • 做网站推广电话网站建设制作免费推广
  • 如何发布网站响应式商城网站
  • 网站建设应用程序开发网站建设的意义以及重要性
  • 网站建设进度说明嘉兴公司制作网站的
  • 山东省建设注册管理网站手机免费网站制作
  • 台州网站制作套餐如何查询网站的主机
  • 毕业设计代做哪个网站好房产中介如何找客源
  • 怎么下载自己做的网站杭州互联网公司排名
  • 做曖視頻网站网站开发设计流程论文
  • 北京移动官网网站建设凡科做的网站好吗
  • 申请网站域名怎么做wordpress金融主题
  • 中国建设银行移动门户网站wordpress 生成html代码
  • dw网站建设框架大小设定广州分销商城开发
  • 网站一年的 运营费用一般企业网站建设合同
  • 九龙坡集团网站建设贵阳网站建设推广
  • 架设网站 自己购买服务器无锡seo网站推广费用
  • 网站关键词长度开平 做一网站
  • 青海制作网站可以网站可以做免费的文案广告
  • 深圳维特网站建设有彩虹代刷源码怎么做网站
  • 有了自己的网站怎样做后台食品建设网站前的市场分析
  • 制作伪装网站微餐饮网站建设
  • 泰州做网站软件哈尔滨网站建设市场分析
  • 手机网站建设口碑好网站的技术建设