一起配置Grunt、Jasmine和RequireJS

一起配置Grunt、Jasmine和RequireJS,requirejs,jasmine,gruntjs,Requirejs,Jasmine,Gruntjs,我对茉莉花和RequireJS一窍不通,所以非常感谢您的帮助 我们有以下目录结构 /assets /libs <- populated by Jam /scripts /tests 这是我的Grunfile.js中的Jasmine设置 下面是一个非常简单的测试规范:) RequireJS在我的项目中运行良好,下面是我为此运行的设置 <script> var require = { baseUrl: '/assets' }; </scrip

我对茉莉花和RequireJS一窍不通,所以非常感谢您的帮助

我们有以下目录结构

/assets
      /libs <- populated by Jam
      /scripts
/tests
这是我的Grunfile.js中的Jasmine设置

下面是一个非常简单的测试规范:)

RequireJS在我的项目中运行良好,下面是我为此运行的设置

<script>
var require =
{
    baseUrl: '/assets'
};
</script>
<script src="/assets/libs/require.js"></script>

var要求=
{
baseUrl:“/assets”
};

我哪里出了问题,我能做些什么来修复它呢?

我让它运行起来,不得不在Grunfile.js中的Jasmine配置中做以下更改


它需要向上移动一个目录。

当您指定Grunt Jasmine使用
/assets
作为基本路径时,它将查看您的绝对
/assets
路径,这意味着您将对Grunt说查看您的文件系统根路径。

您可以接受自己的答案。这对以后的参考很有用!对于后代:
表示当前目录,
表示上一个目录。如果以
/
开始路径,它将转到根级别。在客户端,这意味着根url,在服务器端,这意味着文件系统根路径。
jasmine: {
    src: 'assets/scripts/**/*.js',
    options: {
        specs: 'tests/*spec.js',
        template: require('grunt-template-jasmine-requirejs'),
        templateOptions: {
            requireConfig: {
                baseUrl: '/assets',
                paths: {
                'jquery': 'libs/jquery/dist/jquery'
                }
            }
        }
    }
require(['scripts/MyModule'], function (myModule) {
    'use strict';

    describe('A suite', function() {
        it('should pass this test', function() {
            expect(myModule).not.toBe(null);
        });
    });
});
<script>
var require =
{
    baseUrl: '/assets'
};
</script>
<script src="/assets/libs/require.js"></script>
baseUrl: './assets/'