收藏
回答

使用插件后,App,Page 不允许被修改

框架类型 问题类型 终端类型 微信版本 基础库版本
小程序 Bug 客户端 7.0.3 2.6.1



- 当前 Bug 的表现(可附上截图)

在app.json中,不引用插件,就可以重写App,Page

我的项目中使用了第三方插件;我现在需要全局重写App,Page;直接报下面的错误了


[non-writable] modification of global variable "App" is not allowed when using plugins at app.json.

[non-writable] modification of global variable "Page" is not allowed when using plugins at app.json.




- 预期表现

引用插件;;;;依然可以重写 App,Page



- 复现路径


- 提供一个最简复现 Demo


回答关注问题邀请回答
收藏

8 个回答

  • 小程序技术专员-LastLeaf
    小程序技术专员-LastLeaf
    2019-02-28

    你好,这个是已知问题。我们正在考虑放开这个限制。

    2019-02-28
    有用 1
    回复 9
    • 千金大小姐
      千金大小姐
      2019-02-28

      恩,好的

      2019-02-28
      回复
    • 千金大小姐
      千金大小姐
      2019-03-04回复TUTUSONG

      插件想改变App,Page,你们想干啥,想谋反啊;


      这个问题是小程序引入任意插件后,无法重写App、Page,和具体插件没啥关系

      2019-03-04
      回复
    • chao
      chao
      2019-03-14

      引入个插件就直接把小程序给废了,这种行为合适吗?

      强烈要求放开这个限制

      你们这种随意改变底层逻辑,太不负责了,严重影响公司发展


      2019-03-14
      回复
    • CCCLARITY
      CCCLARITY
      2019-03-18

      那您这边有什么解决方法呢?只能等官方的解决办法吗?

      2019-03-18
      回复
    • 小程序技术专员-LastLeaf
      小程序技术专员-LastLeaf
      2019-03-18回复CCCLARITY

      之前是受到编译器的一个历史实现的限制。这个策略会在 2.6.x 版本放开。但是我们仍然不建议直接修改 App Page 等全局量。建议的方法是采用覆盖代替修改: var App = require('xxx').App ,在 xxx 中提供一个新的 App() 作为 App 的代理。虽然会麻烦一点,但是处理的流程很明确。

      2019-03-18
      回复
    查看更多(4)
  • 土豆
    土豆
    2019-03-15

    App和page现在是作为基础框架重写的,所以我们就用不了插件了?第一次见这种限制.....

    2019-03-15
    有用 2
    回复
  • 周理
    周理
    2020-03-06

    =========以下是2020/10/29日写的=========

    我们当时改写其实不改写,是把原先的app page复制给新的自建对象,比如newPage({})

    =========以下是2020/3/6日写的=========

    现在已经允许修改了。需要基础库版本 >= 2.6.3 。

    2020-03-06
    有用
    回复
  • 沐辰.
    沐辰.
    2019-12-18

    现在这个限制还没有开放么@官方

    2019-12-18
    有用
    回复
  • 喻
    2019-03-14

    期待快快解决@官方

    2019-03-14
    有用
    回复
  • 🇱 🇮
    🇱 🇮
    2019-03-06

    是 Page 里 data的变量吗 ,还是直接加载page上的变量?

    那这样的话不是都没办法用插件了?

    卵用?

    2019-03-06
    有用
    回复
  • 🦄 🦙Andrea Hao
    🦄 🦙Andrea Hao
    2019-03-05

    遇到相同问题,也就是说改变全局变量的话,就不能使用插件了?

    2019-03-05
    有用
    回复 1
    • RYAN
      RYAN
      2019-03-06

      同问 哈哈哈

      2019-03-06
      回复
  • 甜甜甜👽
    甜甜甜👽
    2019-03-04

    问题解决了吗?我也遇到一样的问题。你是用了阿拉丁吗?

    2019-03-04
    有用
    回复 1
    • 千金大小姐
      千金大小姐
      2019-03-04

      目前官方没放开这个限制,用的其它插件

      2019-03-04
      回复
登录 后发表内容