- 当前 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
你好,这个是已知问题。我们正在考虑放开这个限制。
恩,好的
插件想改变App,Page,你们想干啥,想谋反啊;
这个问题是小程序引入任意插件后,无法重写App、Page,和具体插件没啥关系
引入个插件就直接把小程序给废了,这种行为合适吗?
强烈要求放开这个限制
你们这种随意改变底层逻辑,太不负责了,严重影响公司发展
那您这边有什么解决方法呢?只能等官方的解决办法吗?
之前是受到编译器的一个历史实现的限制。这个策略会在 2.6.x 版本放开。但是我们仍然不建议直接修改 App Page 等全局量。建议的方法是采用覆盖代替修改: var App = require('xxx').App ,在 xxx 中提供一个新的 App() 作为 App 的代理。虽然会麻烦一点,但是处理的流程很明确。
App和page现在是作为基础框架重写的,所以我们就用不了插件了?第一次见这种限制.....
=========以下是2020/10/29日写的=========
我们当时改写其实不改写,是把原先的app page复制给新的自建对象,比如newPage({})
=========以下是2020/3/6日写的=========
现在已经允许修改了。需要基础库版本 >= 2.6.3 。
现在这个限制还没有开放么@官方
期待快快解决@官方
是 Page 里 data的变量吗 ,还是直接加载page上的变量?
那这样的话不是都没办法用插件了?
卵用?
遇到相同问题,也就是说改变全局变量的话,就不能使用插件了?
同问 哈哈哈
问题解决了吗?我也遇到一样的问题。你是用了阿拉丁吗?
目前官方没放开这个限制,用的其它插件