当前位置:首页 > 科技  > 软件

基于taro搭建小程序多项目框架

来源: 责编: 时间:2024-01-22 17:20:53 287观看
导读前言为什么需要这样一个框架,以及这个框架带来的好处是什么?从字面意思上理解:该框架可以用来同时管理多个小程序,并且可以抽离公用组件或业务逻辑供各个小程序使用。当你工作中面临这种同时维护多个小程序的业务场景时,可

前言

SrI28资讯网——每日最新资讯28at.com

为什么需要这样一个框架,以及这个框架带来的好处是什么?SrI28资讯网——每日最新资讯28at.com

从字面意思上理解:该框架可以用来同时管理多个小程序,并且可以抽离公用组件或业务逻辑供各个小程序使用。当你工作中面临这种同时维护多个小程序的业务场景时,可以考虑使用这种模式。灵感来自webpack的多项目打包构建SrI28资讯网——每日最新资讯28at.com

起步

首先你得先安装好taro脚手架,然后基于该脚手架生成一个taro项目SrI28资讯网——每日最新资讯28at.com

初始化taro项目

taro init miniApp

SrI28资讯网——每日最新资讯28at.com

这是我选择的初始化配置,你当然也可以选择其它模版,只要编译工具选择webpack就可以,下面的步骤基本相同SrI28资讯网——每日最新资讯28at.com

打开项目安装依赖

pnpm install

SrI28资讯网——每日最新资讯28at.com

这样一个基本的taro项目就生成好了,但这样只是生成了一个小程序,那我们如果有许多个小程序是不是还要按上面这些步骤继续生成,当然不需要,这样不仅费时间,而且难以维护。SrI28资讯网——每日最新资讯28at.com

下面我们就来把这个框架改造成支持同时管理多个小程序。SrI28资讯网——每日最新资讯28at.com

改造(支持多小程序)

此时的项目结构是这样的:SrI28资讯网——每日最新资讯28at.com

SrI28资讯网——每日最新资讯28at.com

  • config下面是一些小程序以及webpack的配置
  • src下面是我们小程序的项目代码
  • project.config.json是当前小程序配置文件
  • ...

改造目录

在src目录下新增目录:apps、commonSrI28资讯网——每日最新资讯28at.com

  • apps:小程序目录,存放各个小程序的代码
  • common:公用目录,存放公用组件及业务逻辑代码

apps

这里每个小程序对应一个文件夹,里面存放对应小程序的代码SrI28资讯网——每日最新资讯28at.com

这里需要把根目录下的project.config.json放到小程序目录下,因为每个小程序都需要自己的配置文件SrI28资讯网——每日最新资讯28at.com

比如:nanjiu、nanjiu_notebook两个小程序SrI28资讯网——每日最新资讯28at.com

SrI28资讯网——每日最新资讯28at.com

common

这里主要是存放公用代码:组件、业务、请求SrI28资讯网——每日最新资讯28at.com

SrI28资讯网——每日最新资讯28at.com

修改配置

config/index.js

import path from 'path'const app = process.env.APPconst config = {  projectName: 'mini_app',  date: '2024-1-21',  designWidth: 750,  deviceRatio: {    640: 2.34 / 2,    750: 1,    828: 1.81 / 2  },  sourceRoot: `src/apps/${app}`, // 项目源码目录  outputRoot: `${app.toUpperCase()}APP`,  // 打包产物目录  alias: {    '@/common': path.resolve(__dirname, '..', 'src/common'), // 别名配置  },// ....module.exports = function (merge) {  if (process.env.NODE_ENV === 'development') {    return merge({}, config, require('./dev'))  }  return merge({}, config, require('./prod'))}

这里需要注意的是sourceRoot,因为要支持多小程序,那么这里就不能固定写死了,我们可以在启动时通过传参来区分当前启动或打包哪个小程序。SrI28资讯网——每日最新资讯28at.com

自定义构建脚本

在项目根目录新建文件夹build存放构建脚本SrI28资讯网——每日最新资讯28at.com

// cli.jsconst shell = require('shelljs')const fs = require('fs')const path = require('path')const inquirer = require('inquirer')const action = process.argv[2]let app =  process.argv[3]const runType = action == 'dev' ? '启动': '打包'function start() {  // 处理配置文件  process.env.APP = app  console.log(` 
                

本文链接:http://www.28at.com/showinfo-26-66187-0.html基于taro搭建小程序多项目框架

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: OPPO Reno 11 系列如何反超旗舰?

下一篇: 五个可提高效率的 JavaScript 实用程序库

标签:
  • 热门焦点
  • CSS单标签实现转转logo

    转转品牌升级后更新了全新的Logo,今天我们用纯CSS来实现转转的新Logo,为了有一定的挑战性,这里我们只使用一个标签实现,将最大化的使用CSS能力完成Logo的绘制与动画效果。新logo
  • K8S | Service服务发现

    一、背景在微服务架构中,这里以开发环境「Dev」为基础来描述,在K8S集群中通常会开放:路由网关、注册中心、配置中心等相关服务,可以被集群外部访问;图片对于测试「Tes」环境或者
  • 雅柏威士忌多款单品价格大跌,泥煤顶流也不香了?

    来源 | 烈酒商业观察编 | 肖海林今年以来,威士忌市场开始出现了降温迹象,越来越多不断暴涨的网红威士忌也开始悄然回归市场理性。近日,LVMH集团旗下苏格兰威士忌品牌雅柏(Ardbeg
  • 本地生活这块肥肉,拼多多也想吃一口

    出品/壹览商业 作者/李彦编辑/木鱼拼多多也看上本地生活这块蛋糕了。近期,拼多多在App首页“充值中心”入口上线了本机生活界面。壹览商业发现,该界面目前主要
  • 大厂卷向扁平化

    来源:新熵作者丨南枝 编辑丨月见大厂职级不香了。俗话说,兵无常势,水无常形,互联网企业调整职级体系并不稀奇。7月13日,淘宝天猫集团启动了近年来最大的人力制度改革,目前已形成一
  • 微博大门常打开,迎接海外画师漂洋东渡

    作者:互联网那些事“起猛了,我能看得懂日语了”。“为什么日本人说话我能听懂?”“中文不像中文,日语不像日语,但是我竟然看懂了”…&hell
  • 支持aptX Lossless无损传输 iQOO TWS 1赛道版发布限时优惠价369元

    2023年7月4日,“无损音质,声动人心”iQOO TWS 1正式发布,支持aptX Lossless无损传输,限时优惠价369元。iQOO TWS 1耳机率先支持端到端aptX Lossless无
  • iQOO Neo8系列或定档5月23日:首发天玑9200+ 安卓跑分王者

    去年10月,iQOO推出了iQOO Neo7系列机型,不仅搭载了天玑9000+,而且是同价位唯一一款天玑9000+直屏旗舰,一经上市便受到了用户的广泛关注。在时隔半年后,
  • 微软发布Windows 11新版 引入全新任务栏状态

    近日,微软发布了Windows 11新版,而Build 22563更新主要引入了几周前曝光的平板模式任务栏等,系统更流畅了。更新中,Windows 11加入了专门针对平板优化的任务栏
Top