0

ReferenceError: Can't find variable: affix

我正在尝试运行 Jasmine 规范,但无法affixjasmine-fixture. 我的规范没有使用 a require,但我没有看到任何需要它的参考资料。

更麻烦的是,我的文章中没有任何提及affixjasmine与此相关的内容,vendor.js因为它只是一个 devDependency,所以我不确定它如何适用于 karma runner/jasmine 规范。

bower.json:

{
    "name": "af-calendar",
    "version": "0.0.1",
    "main": "public/js/app.js",
    "ignore": [
        "**/.*",
        "node_modules",
        "bower_components"
    ],
    "dependencies": {
        "moment": ">=2.5.1",
        "moment-range": "alienfast/moment-range#3454882ae8e0493b20ff1c6651956b906c8f975d",
        "jquery": ">=1.10.2",
        "jquery-ui": ">=1.10.3",
        "jquery-simulate": "*"
    },
    "devDependencies": {
        "jasmine-jquery": ">=2.0.3",
        "jasmine-fixture": ">=1.2.0"
    },
    "overrides": {
        "jquery-simulate": {
            "main": "jquery.simulate.js",
            "dependencies": {
                "jquery": "*"
            }
        }
    }
}

早午餐-config.coffee

exports.config =
    files:
        javascripts:
            joinTo:
                'js/vendor.js': /^(bower_components|vendor)/
                'js/app.js': /^app/

#            pluginHelpers: 'js/app.js'

        stylesheets:
            joinTo:
                'css/vendor.css': /^(vendor|bower_components)/
                'css/app.css': /^app/

#       templates:
#            joinTo: 'js/app.js'

    plugins:
        autoReload:
            enabled:
                js: on
                css: on
                assets: off

        imageoptimizer:
            path: 'images'
            smushit: no

        coffeelint:
            pattern: /^app\/.*\.coffee$/

            options:
#                indentation:
#                    value: 4
#                    level: "warn"
#
                max_line_length:
                    level: "ignore"

    conventions:
        assets: /(assets|vendor\/assets|font)/

问题

我不想运送它们或将它们包含在 vendor.js 中。我如何仅在我的业力/茉莉花规格测试中包含/要求它们?

4

1 回答 1

0

因此,似乎仅测试依赖项是通过fileskarma.conf 的部分加载的。虽然对于大多数代码,我们习惯于在 bower.json 中包含一个新的依赖项(最终在 app.js 或 vendor.js 中,具体取决于 brunch 配置),devDependencies不包含在任何组合文件中,必须专门引用如:

    // list of files / patterns to load in the browser
    files: [
        'public/js/**/*.js',
        'bower_components/jasmine-jquery/lib/jasmine-jquery.js',
        'bower_components/jasmine-fixture/dist/jasmine-fixture.js',
        'spec/spec_helper.coffee',
        'spec/**/*.spec.coffee'
    ],      

这不像 brunch 为 vendor.js 组合文件那样方便,并且可能会更好,但上述方法目前有效。

于 2014-05-08T17:39:49.377 回答