收藏
回答

为何fileManager.accessSync获取文件失败?

    const fileManager = wx.getFileSystemManager();
    try {
      fileManager.accessSync('/env.txt');//这个文件放在项目根目录下
      that.globalData.ENV = ENVS.DEV;
    } catch (e) {
      console.log(e)
      that.globalData.ENV = ENVS.PROD;
    }

报错
Error: accessSync:fail no such file or directory, access "/env.txt"
    at accessSync (VM663 WAService.js:1)
    at Object.e.<computed> [as accessSync] (VM663 WAService.js:1)
    at pe.onLaunch (app.js? [sm]:32)
    at pe.<anonymous> (VM663 WAService.js:1)
    at VM663 WAService.js:1
    at new pe (VM663 WAService.js:1)
    at Function.<anonymous> (VM663 WAService.js:1)
    at VM663 WAService.js:1
    at app.js? [sm]:12
    at require (VM663 WAService.js:1)
回答关注问题邀请回答
收藏

3 个回答

  • 哆啦咪
    哆啦咪
    2020-06-24

    无语了,怎么读都读不到。 网上也找不到正确的使用示例。 还有 一些文章就是在瞎写,居然还有人点赞,服气。


    最后终于找到某些大腿评论提供的方法了。

    let version = wx.getAccountInfoSync().miniProgram.envVersion

    if( version == 'develop') echo '开发版';

    if( version == 'trial') echo '体验版';

    if( version == 'release') echo '正式版';

    https://developers.weixin.qq.com/miniprogram/dev/api/open-api/account-info/wx.getAccountInfoSync.html


    2020-06-24
    有用
    回复
  • 欢乐马
    欢乐马
    2020-06-03

    fileManager.accessSync(wx.env.USER_DATA_PATH +'/env.txt');

    这样也不行,无语了

    2020-06-03
    有用
    回复
  • 拾忆
    拾忆
    2020-06-03

    小程序没有根目录这个概念,你就用相对目录去试试 ../ 直到目录正确为止。

    2020-06-03
    有用
    回复 4
    • 欢乐马
      欢乐马
      2020-06-03
      我是在app.js里做判断的,相当于和app.js在同一个目录,把/去掉,还是一样提示没有这样的文件
      2020-06-03
      回复
    • 拾忆
      拾忆
      2020-06-03回复欢乐马
      应该是要相对于当前文件的路径才是正确的。
      2020-06-03
      回复
    • 欢乐马
      欢乐马
      2020-06-03回复拾忆
      当前文件是指哪个文件?app.js就是在和env.txt同一个目录的,试了用 fileManager.accessSync('env.txt')或fileManager.accessSync('./env.txt')也不行
      2020-06-03
      回复
    • 童爸爸
      童爸爸
      2020-08-06回复欢乐马
      您好,解决了吗
      2020-08-06
      回复
登录 后发表内容
问题标签