uniapp的manifest.json配置后,支付宝小程序include不生效,map高级渲染

这篇具有很好参考价值的文章主要介绍了uniapp的manifest.json配置后,支付宝小程序include不生效,map高级渲染。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一:问题描述:

                支付宝小程序在使用map组件时,使用高级渲染需要使用xml组件,在                  manifest.json下配置include字段,编译完没有该字段,不生效。

                       

                

                这里是支付宝文档:支付宝官方文档
                • 布局的 XML 文件默认会被 IDE 打包工具忽略,需要在根目录 mini.project.json                  配置规则里将 xml 打到小程序中。

                  {
                    "include":["*/.xml"] // 配置包含 xml
                   }

原因:社区文公开发人员后,可能是由于hbuilderX内配置文件未添加该项所致。

二:没解决之前每次编译后是这样的:

uniapp的manifest.json配置后,支付宝小程序include不生效,map高级渲染,uni-app,小程序

解决之后就自动添加了 

                   {
                    "include":["*/.xml"] // 配置包含 xml
                   }

这个配置项,看图:

uniapp的manifest.json配置后,支付宝小程序include不生效,map高级渲染,uni-app,小程序

三:解决方案如下:

                                (1):在 你的根目录/node_modules/@dcloudio/webpack-uni-pages-loader/lib/platforms/mp-alipay.js中替换(将文件里面的代码全部替换掉)如下代码:             

const fs = require('fs')
const path = require('path')

const {
  parsePages,
  getPlatformProject
} = require('@dcloudio/uni-cli-shared')

const {
  updateAppJsonUsingComponents
} = require('@dcloudio/uni-cli-shared/lib/cache')

const {
  hasOwn,
  parseStyle,
  parseTabBar,
  NON_APP_JSON_KEYS
} = require('../util')

function defaultCopy (name, value, json) {
  json[name] = value
}

const pagesJson2AppJson = {
  globalStyle: function (name, value, json) {
    json.window = parseStyle(value)
    if (json.window.usingComponents) {
      json.usingComponents = json.window.usingComponents
      delete json.window.usingComponents
    }
  },
  tabBar: function (name, value, json) {
    json.tabBar = parseTabBar(value)
  },
  preloadRule: defaultCopy
}

function copyToJson (json, fromJson, options) {
  Object.keys(options).forEach(name => {
    if (hasOwn(fromJson, name)) {
      options[name](name, fromJson[name], json)
    }
  })
}

const projectKeys = ['component2', 'enableAppxNg', 'include']

module.exports = function (pagesJson, manifestJson) {
  const app = {
    pages: [],
    subPackages: []
  }

  const subPackages = {}

  parsePages(pagesJson, function (page) {
    app.pages.push(page.path)
  }, function (root, page, subPackage) {
    if (!subPackages[root]) {
      subPackages[root] = {
        root,
        pages: []
      }
      Object.keys(subPackage).forEach(name => {
        if (['root', 'pages'].indexOf(name) === -1) {
          subPackages[root][name] = subPackage[name]
        }
      })
    }
    subPackages[root].pages.push(page.path)
  })

  Object.keys(subPackages).forEach(root => {
    app.subPackages.push(subPackages[root])
  })

  copyToJson(app, pagesJson, pagesJson2AppJson)

  const platformJson = manifestJson['mp-alipay'] || {}

  Object.keys(platformJson).forEach(key => {
    if (!projectKeys.includes(key) && !NON_APP_JSON_KEYS.includes(key)) {
      // usingComponents 是编译模式开关,需要过滤,不能拷贝到 app
      app[key] = platformJson[key]
    }
  })

  if (app.usingComponents) {
    updateAppJsonUsingComponents(app.usingComponents)
  }
  const projectName = getPlatformProject()

  let project = {}

  const projectPath = path.resolve(process.env.UNI_INPUT_DIR, projectName)
  if (fs.existsSync(projectPath)) {
    project = require(projectPath)
  } else {
    if (platformJson.appid) {
      project.appid = platformJson.appid
    }

    project.component2 = hasOwn(platformJson, 'component2') ? platformJson.component2 : true
    project.enableAppxNg = hasOwn(platformJson, 'enableAppxNg') ? platformJson.enableAppxNg : true
        
        if (hasOwn(platformJson, 'include')) {
            project.include = platformJson.include
        }
  }

  return [{
    name: 'app',
    content: app
  }, {
    name: 'mini.project',
    content: project
  }]
}

                            
添加后的代码和之前没什么两样,就是多了个if判断,直接上图:

        uniapp的manifest.json配置后,支付宝小程序include不生效,map高级渲染,uni-app,小程序

四:解决完之后:

                uniapp的manifest.json配置后,支付宝小程序include不生效,map高级渲染,uni-app,小程序

 这里是用uniapp嵌套支付宝小程序,在vscode里面改完之后,IDE就会自动编译成上图的代码,也就是成功之后的代码。文章来源地址https://www.toymoban.com/news/detail-730292.html

到了这里,关于uniapp的manifest.json配置后,支付宝小程序include不生效,map高级渲染的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • uniapp支付宝小程序授权用户信息、授权手机号码

    需求说明 uniapp开发支付宝小程序授权用户信息和用户手机号码过程中,与微信小程序的API是有所不同的,相同是都是需要 button/button 点击事件触发。接下来简单说明一下支付宝小程序授权用户信息和用户手机号码的方法。 完成需求 授权用户手机号码前,需要先在支付宝开放

    2024年02月08日
    浏览(106)
  • uniapp支付宝小程序如何在开发者工具启动

    小程序开发者工具安装地址 在uniapp项目根目录下的manifest.json中找到支付宝小程序配置,输入在支付宝中获取的appid 选择HBuilder导航栏的工具-设置-运行配置-支付宝小程序开发者工具路径-选择到小程序开发者工具.exe 运行-运行到小程序模拟器-支付宝小程序开发者工具 运行成功

    2024年02月11日
    浏览(44)
  • uniapp 支付宝小程序 获取用户信息 ISV权限不足

    服了,有两个获取会员信息,耽误我半天, 点击绑定产品,一个在第一页,一个在第三页。

    2024年02月16日
    浏览(44)
  • 【uniapp】将微信小程序的代码兼容支付宝小程序(持续更新)

    目前本身就有一套完善的微信小程序(兼容h5)的代码,现在的需求是将它编译成支付宝小程序,做好兼容的处理,以便后续接入支付宝服务商,在这里简单记录一下目前发现的把微信小程序编译成支付宝小程序的问题和解决方案。 建议配合其他人的记录一起看,这里只是我

    2024年02月09日
    浏览(142)
  • uniapp兼容微信小程序和支付宝小程序遇到的坑

    改为v-if。 App端和H5端支持 v-html ,微信小程序会被转为 rich-text,其他端不支持 v-html。 解决方法:去插件市场找一个支持跨端的富文本组件。 兼容微信小程序和支付宝小程序  pages.json: 给支付宝的导航栏设置 透明 agent页面: 支付宝加上 my.setNavigationBar 设置标题文字即可,

    2024年02月15日
    浏览(84)
  • uniapp实现支付宝小程序中嵌入H5并且实现相互通信

    场景:在小程序开发中(无论是支付宝、微信、Uniapp等)会遇到在小程序中使用或者跳转一些自己的公司开发过的,或三方地址,在小程序中的开发文档中大家可以看到,只是有一些基本的内部跳转方式,但通过仅有的跳转方式无法满足我们的跳转外部页面的需求,这个时候

    2024年01月19日
    浏览(39)
  • uniapp开发APP跳转微信小程序和支付宝小程序(安卓版)

    开发APP时需要支付时跳转微信或者支付宝去支付,但是因为银行合作问题不能直接跳转,所以选择跳转到小程序页面进行支付,微信小程序和支付宝小程序写法不同 APP跳转微信小程序 (需要manifest.json中APP模块配置Share中微信分享保持开启) 微信小程序原始id在微信开放平台查

    2024年02月06日
    浏览(55)
  • uniapp支付宝小程序开通商家会员卡功能流程和前端代码

    支付宝官方文档 支付宝小程序商家后台要购买商家会员卡插件,是免费的,一般公司有专门的人来管这一块 购买完之后,在uni项目中manitest.json文件中写上插件代码,如果还没买就写的话,运行之后小程序会报错 从后端获取appid和complateId,complateId后端可能会返回多个,但前

    2024年02月12日
    浏览(42)
  • uniapp 之 微信小程序、支付宝小程序 对于自定义导航栏的不同

    目录 前言  微信小程序 代码  支付宝小程序 首页配置文件 二级菜单页面  配置 总结  不同 相同  小程序都是 uni-app 写的 不是原生 pages.json文件中配置 重点: \\\"navigationStyle\\\": \\\"custom\\\",  // 导航栏样式  首页 vue文件 template  script  备注:  height:是胶囊的高度 首页配置文件

    2024年02月15日
    浏览(40)
  • UniApp之使用manifest.json应用配置的详细教学

    manifest.json 文件是 UniApp 开发中用来配置应用信息的重要文件。通过修改 manifest.json 文件,开发者可以配置应用的名称、图标、启动页面、权限等信息。本文将为您提供详细的教学,介绍如何使用 manifest.json 文件进行应用配置,并提供示例代码帮助您更好地理解。 在您的 Uni

    2024年02月15日
    浏览(34)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包