加载 aurelia-validation 插件时出错

error when loading aurelia-validation plugin

我正在尝试在我的项目中设置 aurelia-validation 插件。我正在使用 VS2015。 我已经使用 jspm install aurelia-validation 命令安装了 aurelia-validation 插件。

Config.js 文件已更新 "aurelia-validation": "github:aurelia/validation@0.2.7" 在 jspm_packages/github 我看到 validation@0.2.7 文件夹。

我在 main.js 文件中添加了一个插件。

export function configure(aurelia) {

    aurelia.use
        .standardConfiguration()
        .developmentLogging()
        .plugin('aurelia-validation');

    aurelia.start().then(a => a.setRoot());
}

并将我的 aurelia-app 更改为 aurelia-app="main"

当我启动应用程序时,我在 Firefox 控制台中收到以下错误:

Unhandled promise rejection TypeError: aurelia.globalizeResources is not a function
Stack trace:
configure@http://localhost:15724/jspm_packages/github/aurelia/validation@0.2.7/index.js:28:5
loadPlugin/<@http://localhost:15724/jspm_packages/github/aurelia/framework@0.15.0/aurelia-framework.js:34:32
run@http://localhost:15724/jspm_packages/npm/core-js@0.9.18/modules/es6.promise.js:91:43
notify/<@http://localhost:15724/jspm_packages/npm/core-js@0.9.18/modules/es6.promise.js:105:11
module.exports@http://localhost:15724/jspm_packages/npm/core-js@0.9.18/modules/$.invoke.js:6:25
@http://localhost:15724/jspm_packages/npm/core-js@0.9.18/modules/$.task.js:40:9
run@http://localhost:15724/jspm_packages/npm/core-js@0.9.18/modules/$.task.js:27:7
listner@http://localhost:15724/jspm_packages/npm/core-js@0.9.18/modules/$.task.js:31:5

我曾尝试使用 jspm cc 命令清除 jspm 缓存,但这没有帮助。我所有的包都是最新的。

我错过了什么?

谢谢。

Aurelia 0.15.0 中发生了重大变化:

在提交中fix(all): create a property framework configuration object globalizeResources 方法已重命名为 globalResources

从那时起 (2015.08.13) aurelia-validation 插件没有更新。

您收到错误消息是因为 aurelia 验证仅支持 aurelia 0.14.1 或更早版本。所以你必须降级你的 aurelia 版本才能使用验证插件,直到它不更新。

接受的答案是正确的。快速修复(避免降级 aurelia)是手动编辑此行: https://github.com/aurelia/validation/blob/master/dist/system/index.js#L10

在您的 jspm_packages\github\aurelia\validation... 文件夹中

还将任何 aurelia.withSingleton 调用更改为 aurelia.container.registerSingleton