找不到模块的ember-validations

时间:2015-01-27 16:54:00

标签: ember.js ember-cli

尝试为ember-cli使用ember-validations插件。对这个问题感到困惑,我无法弄清楚缺少什么。

以下是package.json中的依赖项部分:

"devDependencies": {
    "broccoli-asset-rev": "^2.0.0",
    "broccoli-ember-hbs-template-compiler": "^1.6.1",
    "ember-cli": "0.1.9",
    "ember-cli-6to5": "0.2.1",
    "ember-cli-content-security-policy": "0.3.0",
    "ember-cli-dependency-checker": "0.0.7",
    "ember-cli-ic-ajax": "0.1.1",
    "ember-cli-inject-live-reload": "^1.3.0",
    "ember-cli-qunit": "0.1.2",
    "ember-data": "1.0.0-beta.12",
    "ember-export-application-global": "^1.0.0",
    "express": "^4.8.5",
    "glob": "^4.0.5",
    "ember-validations": "~2.0.0-alpha.2" //Also tried with "~ 2.0.0" as advised in the guide
}

一个简单的控制器,如下所示:

import Ember from 'ember';
import EmberValidations from 'ember-validations';

export default Ember.Controller.extend(EmberValidations.Mixin, {
    actions: {
        //....
    },
    validations: {
        mailid: {
            presence: true
        },
        password: {
            presence: true
        }
    }
});

bower.json:

{
  "name": "ahem",
  "dependencies": {
    "handlebars": "~1.3.0",
    "jquery": "^1.11.1",
    "ember": "1.8.1",
    "ember-data": "1.0.0-beta.12",
    "ember-resolver": "~0.1.11",
    "loader.js": "ember-cli/loader.js#1.0.1",
    "ember-cli-shims": "ember-cli/ember-cli-shims#0.0.3",
    "ember-cli-test-loader": "rwjblue/ember-cli-test-loader#0.0.4",
    "ember-load-initializers": "ember-cli/ember-load-initializers#0.0.2",
    "ember-qunit": "0.1.8",
    "ember-qunit-notifications": "0.0.5",
    "qunit": "~1.17.1",
    "bootstrap": "~3.3.2"
  }
}

但是在浏览器中查看路径会在控制台中收到错误消息:

Could not find module ember-validations

不确定我做错了什么。任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:2)

该软件包似乎正在寻找一个名为ember-easyform-cli的模块。因此,我建议添加:

ember-easyform-cli": "git://github.com/kristianmandrup/ember-easyform-cli.git#master" 

到package.json文件。

另外,我注意到有3个目标[“0.0.0”,“2.0.0-alpha.1”,“2.0.0-alpha.2”]可用。通过在package.json中添加“ember-validations”:“2.0.0-alpha.1”,尝试使用2.0.0-alpha.1版本而不是2.0.0-alpha.2。

答案 1 :(得分:0)

安装https://github.com/abpetkov/switchery后我遇到了同样的问题 并通过brocfile导入它:

app.import('bower_components/switchery/switchery.js');

将它切换到dist版本为我解决了

app.import('bower_components/switchery/dist/switchery.js');

有可能在ember-validations和其他ember模块之间存在某种冲突。也许修改您的Brocfile或package.json并通过反复试验找出问题的根源,或暂时禁用您最近安装的软件包。