使用 Google 的 zx 库编写切换微信小程序环境的脚本

这篇具有很好参考价值的文章主要介绍了使用 Google 的 zx 库编写切换微信小程序环境的脚本。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

背景

微信小程序目前为止还没有提供API或者具体的配置方式,给我们设置环境变量,所以还得自己想办法。

创建一个 shell 脚本——一个由诸如 Bash 或 zsh 之类的 shell 执行的脚本——可以是自动化重复任务的好方法。Node.js 似乎是编写 shell 脚本的理想选择,因为它为我们提供了许多核心模块,并允许我们导入我们选择的任何库。它还使我们能够访问 JavaScript 提供的语言特性和内置函数。
但是,如果您尝试编写一个在 Node.js 下运行的 shell 脚本,您可能会发现它并不像您希望的那样流畅。您需要为子进程编写特殊处理,注意转义命令行参数,然后最终弄乱stdout(标准输出)和stderr(标准错误)。它不是特别直观,并且会使用 shell 脚本非常尴尬。
Bash shell 脚本语言是编写 shell 脚本的流行选择。无需编写代码来处理子进程,并且它具有用于处理stdout和stderr. 但是用 Bash 编写 shell 脚本也不是那么容易。语法可能很混乱,难以实现逻辑,或处理诸如提示用户输入之类的事情。
Google 的 zx库有助于使用 Node.js 高效且愉快地编写 shell 脚本。

编码实战

envConfig文件夹内容如下:

使用 Google 的 zx 库编写切换微信小程序环境的脚本,工具使用,微信小程序,小程序

mjs文件内容如下:文章来源地址https://www.toymoban.com/news/detail-567860.html

async function promptForModuleSystem(moduleSystems) {
  const moduleSystem = await question(
    `需要切换到什么环境? (${moduleSystems.join(" or ")}) `,
    {
      choices: moduleSystems,
    }
  );
  return moduleSystem;
}

async function setConfigByEnv() {
  const moduleSystems = ["test", "pro"];
  const selectedModuleSystem = await promptForModuleSystem(moduleSystems);

  const isValidModuleSystem = moduleSystems.includes(selectedModuleSystem);
  if (!isValidModuleSystem) {
    console.error(
      chalk.red(`Error: 环境变量必须为 '${moduleSystems.join("' or '")}'\n`)
    );

    return await setConfigByEnv();
  }

  return copyFile(selectedModuleSystem);
}

setConfigByEnv();


async function copyFile(env) {
  await fs.copy(
    `./envConfig/project.${env}.json`,
    `./project.config.json`,
    (err) => {
      if (err) return console.error(err);
      console.log(chalk.green(`操作成功,当前环境已切换为${env}`));
    }
  );
 
}


参考资料

  • 使用 Google 的 zx 库在 Node 中编写 Shell 脚本技巧你会了吗
  • 文件操作依赖 fs-extra

到了这里,关于使用 Google 的 zx 库编写切换微信小程序环境的脚本的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 如何在微信小程序中使用less来编写css

    在微信小程序中使用 Less 需要一些额外的配置步骤,因为小程序本身不支持直接引用 Less 文件。我们可以借助 Webpack 进行构建,使用一些 loader 来编译 Less 文件。以下是具体步骤: 初始化项目 使用微信开发者工具新建一个小程序项目,或在已有项目的基础上操作。 安装依赖 使用

    2024年04月09日
    浏览(64)
  • uni编写微信小程序使用wx.startLocationUpdateBackground监听位置

    需求:小程序退出或者微信在后时,实时获取当前位置 代码部分: manifest.json文件中需配置 requiredBackgroundModes需设置:location 判断用户有没有开启授权: 使用uni.getSetting来获取用户的授权 没有就直接使用uni.authorize

    2024年02月05日
    浏览(43)
  • 使用uniapp编写微信小程序并与原生小程序代码进行融合

    在使用uniapp编写时所使用的语法为VUE,代码编写完成后点击HBuilder X工具窗口:发行编译为小程序,即可自动转换为小程序的代码 解决问题: 编译之后代码会被进行压缩,vue文件会被拆分,其中的变量名也会被替换掉,基本没有可读性,变成这样: 这样的代码基本是不可进行

    2024年02月09日
    浏览(67)
  • 使用VS Code创建编写uniapp项目(vue3+ts 微信小程序)

    uni-create-view :用于快速创建 uni-app 页面 uni-helper uni-app :代码提示 uniapp 小程序扩展 :鼠标悬停查文档 1.在types属性中添加属性名 @types/wechat-miniprogram 和  @uni-helper/uni-app-types. 2.添加vueCompilerOptions选项 ①在VS Code中找到设置 ②在设置中搜索文件关联 ③添加这两个文件名,值为

    2024年04月27日
    浏览(71)
  • 原生微信小程序使用vant的tabbar(解决点击俩次图标才正确切换)

    一、声明:在导入使用vant (tabbar)组件的时候,发现通过点击切换的方法来更改active的方法,会出现图标没用及时对应上,需要第二次点击才对应上的问题。 先使用npm引入vant组件库 1.第一步:在资源管理器下方空白处选择”在外部终端窗口打开“ 2.第二步:使用命令初始

    2024年02月09日
    浏览(59)
  • uniapp 微信小程序多环境配置及使用

    前后端分离开发模式中,无论前后端都有可能区分不同的环境配置,开发环境(dev)、测试环境(test)、线上生产环境(prod)等,不同环境的设置,后端请求api地址等不同,那么在小程序如何设置多环境配置呢? 之前搞vue的时候 可以通过 .env的方式配置开发测试和线上需要

    2024年02月02日
    浏览(38)
  • 微信小程序选项卡切换(滑动切换,点击切换)

    效果如下:可点击切换,滑动切换 代码如下 这个可以在项目用 index.wxml index.wxss index.js

    2024年02月14日
    浏览(63)
  • 微信小程序用什么编写

    微信小程序是一种轻量级的应用程序,可以在微信中直接使用,而无需下载和安装。由于它的快速和简便,越来越多的企业和开发者开始将微信小程序作为他们的主要开发目标。那么,微信小程序到底用什么编写呢? 微信小程序可以使用多种编程语言和工具来编写,其中最常

    2024年02月12日
    浏览(42)
  • 【微信小程序入门到精通】— 微信小程序实现多页面切换(tabBar)

    对于目前形式,微信小程序是一个热门,那么我们该如何去学习并且掌握之后去做实际项目呢? 为此我特意开设此专栏,在我学习的同时也将其分享给大家! 本篇文章将给大家带来如何添加页面切换效果,我们前面所讲解的都是停留在某一页面上面进行预览,接下来我们将

    2024年02月03日
    浏览(114)
  • 微信小程序编写新闻阅读列表

    swiper image{ width:100%; height:500rpx; } App.json 里的关于导航栏、标题的配置 官方API文档地址:https://developers.weixin.qq.com/miniprogram/dev/framework/config.html 主要属性 简单案例 post.json { “navigationBarBackgroundColor”: “#405f80”, “navigationBarTitleText”: “文与字” } 构建文章列表 案例代码 pos

    2024年04月14日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包