1***@qq.com
1***@qq.com
  • 发布:2019-03-27 09:22
  • 更新:2022-12-07 11:52
  • 阅读:2652

能否指定某个js文件编译后的位置,或者如何提取已编译的文件

分类:uni-app

因为后台是使用微擎开发,要求小程序根目录要有一个siteinfo.js的文件,在uniapp根目录放了siteinfo.js,但是会被打包进common/main.js, 是否有方案可以改变uniapp一些文件打包后的位置,或者如何将被编译的内容,重新提取为用文件读取

2019-03-27 09:22 负责人:无 分享
已邀请:

最佳回复

DCloud_heavensoft

DCloud_heavensoft

微信插件的ext.json直接放到项目根目录下没问题。
至于微擎的 siteInfo.js,在2.2版中已支持自定义vue-config.js,https://uniapp.dcloud.io/collocation/vue-config
如果不会自定义,也可以每次发布后手动copy那个js到unpackage或dist目录下。

  • maozai

    https://ask.dcloud.net.cn/question/102210

    2020-07-23 11:45

DCloud_UNI_FXY

DCloud_UNI_FXY

为何会要求根目录有个 siteInfo.js。你是不是理解错了,有他们的文档地址吗?初步看来 siteInfo.js 只是个配置,肯定在其他地方有引用,不然不会被打包到 common/main 里边

kevin

kevin

我做的是一整套通用的商城系统,给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

3***@qq.com

3***@qq.com - 菏泽微智信息技术有限公司

想知道咋解决的啊.....
vue.config 很长很长很长啊

3***@qq.com

3***@qq.com - 菏泽微智信息技术有限公司

楼主能分享一下 你修改的代码嘛?我试着看了这个文件 还是不行

8***@qq.com

8***@qq.com

  1. 把 var siteInfo={} 部分注释掉

2.根据这里的方法 创建模板文件

3.在模板文件中添加

document.write('<script src="./siteinfo.js?timestamp=' + new Date().getTime() + '" type="text/javascript" charset="utf-8"><\/script>');
  1. 修改 manifest.json 中 h5.template = "template.h5.html"

  2. 运行打包

  3. 在打包好的 h5 文件夹下创建 siteinfo.js 内容类似下面的这种

let siteInfo = {  
    'siteurl': 'https://baidu.com'  
};

...

其实原理就是打包好的静态 html 文件中,首先加载 siteInfo 文件
打包好的引入 siteInfo

2***@qq.com

2***@qq.com - A

webpack的externals加上copy-webpack-plugin可以解决

要回复问题请先登录注册