【发布时间】:2020-05-17 06:28:29
【问题描述】:
我正在使用默认导航模板创建一个新的 OJET 应用程序。我的 ViewModel 代码变得庞大,因为我有许多验证和 API 需要调用。如何将我的整个验证逻辑分离到一个单独的 JS 文件中并将这个文件导入我的 ViewModel。我尝试在 main.js 级别创建一个新文件并将其添加到 m viewmodel 的定义部分,但这不起作用。
【问题讨论】:
标签: backbone.js requirejs oracle-jet
我正在使用默认导航模板创建一个新的 OJET 应用程序。我的 ViewModel 代码变得庞大,因为我有许多验证和 API 需要调用。如何将我的整个验证逻辑分离到一个单独的 JS 文件中并将这个文件导入我的 ViewModel。我尝试在 main.js 级别创建一个新文件并将其添加到 m viewmodel 的定义部分,但这不起作用。
【问题讨论】:
标签: backbone.js requirejs oracle-jet
OJET 有一个库 require.js,可以实现延迟加载。
在您的 ViewModel 代码中,您必须以与此处类似的方式定义您的依赖项,并将其作为参数传递以便能够调用此导入(注意定义中依赖项的顺序):
define([..., 'your-dependency-here', ...],
function(..., dependency, ...) {
dependency.function();
您还需要在您的 js 文件夹中的 path_mapping.json 中传递这个新文件,如下所示:
"your-dependency-here": {
"debug": {
"path": "path/to/dependency/from/jsFolder"
},
"release": {
"path": "path/to/dependency/from/jsFolder"
}
}
另外,不要创建依赖项的循环,这会导致 require.js 中的错误。
【讨论】: