n***@163.com
n***@163.com
  • 发布:2020-04-07 11:37
  • 更新:2020-04-07 15:07
  • 阅读:1330

基于H5端自定义平台怎么使用和H5端不一样的index.html?

分类:uni-app

当前配置

版本

{  
    "@dcloudio/uni-app-plus": "^2.0.0-26920200403001",  
    "@dcloudio/uni-h5": "^2.0.0-26920200403001",  
    "@dcloudio/uni-helper-json": "*",  
    "@dcloudio/uni-mp-alipay": "^2.0.0-26920200403001",  
    "@dcloudio/uni-mp-baidu": "^2.0.0-26920200403001",  
    "@dcloudio/uni-mp-qq": "^2.0.0-26920200403001",  
    "@dcloudio/uni-mp-toutiao": "^2.0.0-26920200403001",  
    "@dcloudio/uni-mp-weixin": "^2.0.0-26920200403001",  
    "@dcloudio/uni-stat": "^2.0.0-26920200403001",  
}

自定义平台配置

package.json

"uni-app": {  
    "scripts": {  
        "h5-weixin": {   
            "title":"微信服务号",  
            "BROWSER":"Chrome",    
            "env": {  
                "UNI_PLATFORM": "h5"    
             },  
            "define": {   
                "H5-WEIXIN": true   
            }  
        }  
    }      
}

自定义h5的template配置

mainfest.json

  "h5": {  
    "title": "H5 - Page",  
    "template": "../public/h5.html"  
  },

需求

  1. 当前项目需要发布到H5端和自定义的H5-WEIXIN端;
  2. 在自定义的H5-WEIXIN端需要使用与H5端不同的template配置,比如使用配置 ../public/h5-weixin.html

求指导

发现在template配置项对应的文件中不支持条件编译,求指导还有什么办法能实现基于H5平台的自定义平台编译时使用不同的template?

感谢

2020-04-07 11:37 负责人:无 分享
已邀请:
DCloud_UNI_FXY

DCloud_UNI_FXY

HBuilderX 2.6.8以上或vue cli 4以上

const path = require('path')  
module.exports = {  
  chainWebpack(config) {  
    if (process.UNI_SCRIPT_DEFINE && process.UNI_SCRIPT_DEFINE['H5-WEIXIN']) {  
      config.plugin('html-index').tap(args => {  
        args[0].template = path.resolve(__dirname, 'public/h5-weixin.html')  
        return args  
      })  
    }  
  }  
}
  • n***@163.com (作者)

    实测有效,感谢老铁,一句话都没有,上来就招呼代码。赞赞赞~


    2020-04-07 15:22

n***@163.com

n***@163.com (作者)

需要在自定义端使用不同的template是为了引入不同的js/css文件。

ippz

ippz

我也遇到一样的问题,求解

该问题目前已经被锁定, 无法添加新回复