ExtJS与WebSharper入门及Suave F#项目运行示例代码报错求助
问题根因
你的所有报错均来自版本不匹配:
- 你安装的
WebSharper.ExtJs 2.4.48.145是WebSharper 3.x及更早版本的配套绑定,和你当前使用的WebSharper 4.7.x版本完全不兼容。旧版绑定的命名空间为IntelliFactory.WebSharper.ExtJs,不存在WebSharper.ExtJS命名空间,也没有示例代码中用到的ExtCfg、Resources.ExtAll等定义。 - 该版本的ExtJS绑定对应适配的是ExtJS 4/5版本的API,你本地安装的ExtJS 7.x社区版API差异极大,即使绑定能正常编译也无法运行。
可行解决方案
方案1:降级版本适配现有绑定
- 卸载当前项目所有4.7.x版本的WebSharper相关Nuget包,更换为3.x版本的WebSharper、WebSharper.Suave、WebSharper.ExtJs 2.4.48.145。
- 删除你现有的ExtJS 7.x npm依赖,下载ExtJS 5.x版本的静态资源包,将
ext-all.js、对应主题CSS等资源放入项目静态目录,可直接在页面模板中引入,也可以通过旧版绑定的资源特性引入。 - 将代码中的命名空间改为
open IntelliFactory.WebSharper.ExtJs,按照旧版API调整示例代码中的资源引用、配置类写法即可正常运行。
方案2:手动编写高版本ExtJS绑定
目前WebSharper官方已经停止维护ExtJS的官方绑定,因此你无法在官方GitHub仓库找到对应源码。如果你需要使用WebSharper 4.x+和ExtJS 7.x,可参考WebSharper绑定开发规范,针对你需要用到的ExtJS组件手动编写绑定后接入项目。
内容的提问来源于stack exchange,提问作者Paul Whiting
相关产品推荐
相关产品推荐

