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

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

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

前言

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

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

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

起步

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

初始化taro项目

taro init miniApp

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

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

打开项目安装依赖

pnpm install

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

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

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

改造(支持多小程序)

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

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

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

改造目录

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

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

apps

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

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

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

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

common

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

kr128资讯网——每日最新资讯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,因为要支持多小程序,那么这里就不能固定写死了,我们可以在启动时通过传参来区分当前启动或打包哪个小程序。kr128资讯网——每日最新资讯28at.com

自定义构建脚本

在项目根目录新建文件夹build存放构建脚本kr128资讯网——每日最新资讯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 实用程序库

标签:
  • 热门焦点
  • MIX Fold3包装盒泄露 新机本月登场

    小米的全新折叠屏旗舰MIX Fold3将于本月发布,近日该机的真机包装盒在网上泄露。从图上来看,新的MIX Fold3包装盒在外观设计方面延续了之前的方案,变化不大,这也是目前小米旗舰
  • 三言两语说透设计模式的艺术-单例模式

    写在前面单例模式是一种常用的软件设计模式,它所创建的对象只有一个实例,且该实例易于被外界访问。单例对象由于只有一个实例,所以它可以方便地被系统中的其他对象共享,从而减少
  • Flowable工作流引擎的科普与实践

    一.引言当我们在日常工作和业务中需要进行各种审批流程时,可能会面临一系列技术和业务上的挑战。手动处理这些审批流程可能会导致开发成本的增加以及业务复杂度的上升。在这
  • 三言两语说透柯里化和反柯里化

    JavaScript中的柯里化(Currying)和反柯里化(Uncurrying)是两种很有用的技术,可以帮助我们写出更加优雅、泛用的函数。本文将首先介绍柯里化和反柯里化的概念、实现原理和应用
  • Temu起诉SHEIN,跨境电商战事升级

    来源 | 伯虎财经(bohuFN)作者 | 陈平安日前据外媒报道,拼多多旗下跨境电商平台Temu正对竞争对手SHEIN提起新诉讼,诉状称Shein“利用市场支配力量强迫服装厂商与之签订独家
  • 10天营收超1亿美元,《星铁》比《原神》差在哪?

    来源:伯虎财经作者:陈平安即便你没玩过《原神》,你一定听说过的它的大名。恨它的人把《原神》开服那天称作是中国游戏史上最黑暗的一天,有粉丝因为索尼在PS平台上线《原神》,怒而
  • 回归OPPO两年,一加赢了销量,输了品牌

    成为OPPO旗下主打性能的先锋品牌后,一加屡创佳绩。今年618期间,一加手机全渠道销量同比增长362%,凭借一加 11、一加 Ace 2、一加 Ace 2V三款爆品,一加
  • OPPO K11搭载高性能石墨散热系统:旗舰同款 性能凉爽释放

    日前OPPO官方宣布,将于7月25日14:30举办新品发布会,届时全新的OPPO K11将正式与大家见面,将主打旗舰影像,和同档位竞品相比,其最大的卖点就是将配备索尼
  • 电博会上海尔智家模拟500平大平层,还原生活空间沉浸式体验

    电博会为了更好地让参展观众真正感受到智能家居的绝妙之处,海尔智家的程传岭先生同样介绍了展会上海尔智家的模拟500平大平层,还原生活空间沉浸式体验。程传
Top