我想知道在 SAPUI5 中存储常量(字符串、数字或 URI)的最佳实践是什么。我想不建议将它们放在 View 或 Controller 中。我正在考虑选择 i18n。或创建 View 模型。或创建一个新的 .json 文件。如果为其创建 .json 模型是最佳实践,那么下一个问题就是将此 .json 文件放在 SAPUI5 项目的标准文件夹结构中的何处。
最佳答案
SAPUI5 基于Asynchronous Module Definition因此我们可以简单地创建一个包含所有常量的模块定义,就像我们在 CRA 和 angular-cli 等其他脚手架中看到的类似模式一样。
因此,我们可以在 webapp
文件夹中创建一个名为 Constants.js
的文件,然后添加 URL 和其他常量,如下所示:
// webapp/Constants.js
sap.ui.define([],
function() {
'use strict';
var constants = {
BASE_URL: 'http://localhost:8080',
SOME_API_PATH: '/api/some',
REQUEST_HEADERS: {
'X-XSRF-TOKEN': 'something-else'
},
ANOTHER_CONSTANT: 'something'
};
return constants;
});
然后,我们可以通过将常量添加到依赖项数组中来在任何需要的地方导入常量:
// SomeController.js
sap.ui.define([
'<PROJECT_NAME>/Constants'
], function(Constants) {
console.info(Constants.BASE_URL);
});
.env
文件也可以是基于环境的常量的选项,但是,我认为这超出了您的问题范围。
关于sapui5 - SAPUI5 中存储常量的最佳实践是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44659655/