首页 > 解决方案 > ES Module (.mjs) 格式的 UI5 控制器

问题描述

是否可以以 ES Module ( .mjs) 格式编写 UI5 控制器以获得默认启用的严格模式和其他 ES 模块功能?

标签: sapui5es6-modules

解决方案


关于 UI5 控制器中的 ES Modules 支持,截至 2020.Q4,SAP UI5 团队的回应如下:

仅支持 AMD 或本地全局脚本,ui5loader但不支持 ES6 模块。ES6 模块和 AMD 的双向无缝集成(没有转译)是棘手的,因为 ES6 具有与 AMD 不同的依赖解析模型(最棘手的部分是使 AMD 的异步依赖解析对 ES6 代码透明)。我们用这种混合物试验了一段时间,但没有看到令人满意的解决方案。

关于 UI5 中的严格模式本身,根据SAP UI5 团队的说法,在 OpenUI5 中,严格模式是由活动的 ESLint 规则确保的,因此可以在任何地方使用,而在 SAPUI5 的情况下,并非所有代码都使用严格模式。因此,最好应用“use strict”;仅在功能范围内,以避免潜在的可能问题。


推荐阅读