0

我有一个看起来像这样的脚本:

angular.module('Game').constant('WHITE_PIECE', '\u26C0')
                      ... more lines ...
                      .constant('WHITE_KING', '\u26C1')
(end of file)

当我运行时grunt jasmine,我得到经典错误,Module 'Game' is not available! You either misspelled.... 不过奇怪的是,我很肯定正在声明模块。如果我将代码移动到'Game'声明模块的文件的末尾,它就可以工作。如果我将代码移动到另一个文件的末尾,该文件声明了'Game'模块的服务,它就可以工作。我的浏览器没有错误。这个phantomjs是愚蠢的吗?它是 Grunt-contrib-jasmine 中的错误吗?

我在这个文件之前和声明游戏模块的文件之前放置了 console.log 语句;这表明常量文件在游戏文件之前被解释。但是,我认为 Angular 足够聪明,可以解决这个问题。我是否需要准确地告诉 grunt-jasmine-contrib 加载我的脚本的顺序?

4

1 回答 1

0

基于更多的谷歌搜索,我相信这是一个错误而不是一个错误。唯一的解决方案是强制脚本解释的正确顺序,不幸的是,这否定了 jasmine globstar 源模式(例如**/*.js)的便利性。

于 2015-04-06T01:12:19.250 回答