因为后台是使用微擎开发,要求小程序根目录要有一个siteinfo.js的文件,在uniapp根目录放了siteinfo.js,但是会被打包进common/main.js, 是否有方案可以改变uniapp一些文件打包后的位置,或者如何将被编译的内容,重新提取为用文件读取
![1***@qq.com](http://img-cdn-tc.dcloud.net.cn/uploads/avatar/000/58/83/57_avatar_mid.jpg?v=1733194628)
- 发布:2019-03-27 09:22
- 更新:2022-12-07 11:52
- 阅读:2900
最佳回复
![DCloud_heavensoft](http://img-cdn-tc.dcloud.net.cn/uploads/avatar/000/00/00/16_avatar_mid.jpg?v=0)
微信插件的ext.json直接放到项目根目录下没问题。
至于微擎的 siteInfo.js,在2.2版中已支持自定义vue-config.js,https://uniapp.dcloud.io/collocation/vue-config。
如果不会自定义,也可以每次发布后手动copy那个js到unpackage或dist目录下。
![kevin](https://img-cdn-tc.dcloud.net.cn/account/identicon/67c6c3ad934d663bd77835ead094e2b2.png)
我做的是一整套通用的商城系统,给N多客户使用,通过siteinfo.js来存储客户的商城配置文件
如A客户商城配置是:
var siteinfo = {
"appid" : "1672453",
"uniacid": "170",
"version": "20",
"siteroot": "https://www.xxxx.com/api/" ,
"name" : "A客户商城",
"username": "xiede",
}
B客户商城配置是
var siteinfo = {
"appid" : "16396480",
"uniacid": "463",
"version": "301",
"siteroot": "https://www.xxxx.com/api/" ,
"name" : "B客户商城",
"username": "jdjh",
}
不然每次都要通过Hbuilder X 来发布很麻烦,
还有微信第三方代管小程序必须能过ext.json来配置,可以看一下这里的文档
https://developers.weixin.qq.com/miniprogram/dev/devtools/ext.html
![8***@qq.com](http://img-cdn-tc.dcloud.net.cn/uploads/avatar/001/47/53/77_avatar_mid.jpg?v=1658226657)
- 把 var siteInfo={} 部分注释掉
2.根据这里的方法 创建模板文件
3.在模板文件中添加
document.write('<script src="./siteinfo.js?timestamp=' + new Date().getTime() + '" type="text/javascript" charset="utf-8"><\/script>');
-
修改 manifest.json 中 h5.template = "template.h5.html"
-
运行打包
-
在打包好的 h5 文件夹下创建 siteinfo.js 内容类似下面的这种
let siteInfo = {
'siteurl': 'https://baidu.com'
};
...
其实原理就是打包好的静态 html 文件中,首先加载 siteInfo 文件
打包好的引入 siteInfo
maozai
https://ask.dcloud.net.cn/question/102210
2020-07-23 11:45