【问题标题】:Malformed Specrunner file - grunt-template-jasmine-requirejs格式错误的 Specrunner 文件 - grunt-template-jasmine-requirejs
【发布时间】:2017-01-13 16:39:15
【问题描述】:

我正在使用grunt-contrib-jasminegrunt-template-jasmine-requirejs 来生成模板。在 Node v0.12.14 上一切正常,但是当我升级到 Node v4.5.0 时,我的 specrunner 文件输出格式错误。它在输出中包含大量的 JavaScript 以及 HTML。示例块:

function (obj) {
obj || (obj = {});
var __t, __p = '', __j = Array.prototype.join;
function print() { __p += __j.call(arguments, '') }
with (obj) {
__p += '<!doctype html>\n<html>\n<head>\n  <meta charset="utf-8">\n  <title>Jasmine Spec Runner</title>\n\n  ';
 css.forEach(function(style){ ;
__p += '\n  <link rel="stylesheet" type="text/css" href="' +
((__t = ( style )) == null ? '' : __t) +
'">\n  ';
 }) ;
__p += '\n\n  ';
 with (scripts) { ;
__p += '\n  ';
 [].concat(vendor).forEach(function(script){ ;
__p += '\n  <script src="' +
((__t = ( script )) == null ? '' : __t) +
'"></script>\n  ';

这是我的 Gruntfile 中的“茉莉花”部分:

    jasmine: {
        test: {
            options:  {
                vendor: ["src/libs/jquery.js"],
                display: "short",
                summary: true,
                specs: ['test/test.js'],
                styles: ['src/css/main.css'],
                template: require('grunt-template-jasmine-requirejs'),
                templateOptions: {
                    requireConfig: {
                        baseUrl: 'src/',
                        paths: {
                            "test": "../test",
                            "jquery-1.9": "jquery-1.9.1"
                        }
                    }
                }
            }
        }
   }

“grunt-template-jasmine-requirejs”的一些“templateOptions”是否发生了我不知道的变化?以下是我正在使用的版本:

grunt-template-jasmine-requirejs 0.2.3
grunt-contrib-requirejs 1.0.0
grunt-contrib-jasmine 1.0.3

【问题讨论】:

    标签: node.js grunt-contrib-jasmine


    【解决方案1】:

    自从更新到 Grunt v1.0.1 后,问题出在包 grunt-template-jasmine-requirejs,不再维护。它应该以不同的方式处理模板:grunt.util._.template(source, context) 应该是 grunt.util._.template(source)(context)。此外,它使用的 Lodash 版本与我们的 Lodash 版本发生了冲突。

    这里有一个分支可以解决这些问题:https://github.com/radum/grunt-template-jasmine-requirejs/tree/7ca7ad28b1bbb7a940de7a01710f62c5b0eb6a65

    但是,这个 fork 仍然使用现在已弃用的 grunt.util._,因此将来可能需要重新寻址。

    【讨论】:

      猜你喜欢
      • 2014-07-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多