2013-10-10 40 views
2

試圖提升我的通用編碼技能......並學習新的東西。 我已經開始嘗試線了前端僅由配置grunt watch使用requirejs對應用程序運行Jasmine測試

  1. 迪朗達爾
  2. 茉莉花解決方案 -
  3. 咕嚕觀看[通過NPM添加]監測&運行我的測試,我的代碼文件改變 - [通過npm添加]

請隨時糾正我,因爲這是基於我在過去2天的實驗。大部分對我來說都是新的。我的目標是有什麼角度與業力相似的東西。

現在我知道了迪朗達爾項目(帶有自定義的規範亞軍,在GitHub的溶液中發現的)

我的設置:

gruntfile.js

module.exports = function(grunt) { 
    var appPath = 'App/viewmodels/*.js'; 
    var testPath = 'Tests/**/*.js'; 
    grunt.initConfig({ 
     jasmine: { 
      pivotal: { 
       src: appPath, 
       options: { 
        specs: testPath, 
        template: require('grunt-template-jasmine-requirejs'), 
        templateOptions: { 
         requireConfigFile: 'SpecRunner.js' 
        } 
       } 
      } 
     }, 
     jshint: { 
      all: [testPath, appPath], 
      options: { 
       curly: true 
      } 
     }, 
     watch: { 
      files: [testPath, appPath], 
      tasks: ['jshint','jasmine'] 
     } 
    }); 

    grunt.loadNpmTasks('grunt-contrib-jasmine'); 
    grunt.loadNpmTasks('grunt-contrib-jshint'); 
    grunt.loadNpmTasks('grunt-contrib-watch'); 

    grunt.registerTask('default', ['jshint','jasmine']);  
}; 

SpecRunner.js

require.config({ 
    paths: { 
    jquery: 'Scripts/jquery-1.9.1', 
    knockout: 'Scripts/knockout-2.3.0' 
    }, 
    shim: { 
    knockout: { 
     exports: "ko" 
    } 
    } 
}); 

當我運行的呼嚕聲,我得到一個非法的路徑或腳本錯誤:[ '插件/ HTTP'] (我已經整理出來的截圖KO問題) enter image description here

問:

我將如何設置我的gruntfile來需要任何依賴關係。我很新,需要,我不知道如何配置它,使我的測試知道在哪裏可以找到像第三方庫和其他自定義js文件的事情

回答

2

SpecRunner require.config缺少Durandal特定路徑信息。如果您將baseUrl設置爲「應用」,則下面的路徑與HTML樣本或StarterKit佈局相匹配。如果你的佈局不同,你必須相應地調整它。

requirejs.config({ 
    paths: { 
     'text': '../lib/require/text', 
     'durandal':'../lib/durandal/js', 
     'plugins' : '../lib/durandal/js/plugins', 
     'transitions' : '../lib/durandal/js/transitions', 
     'knockout': '../lib/knockout/knockout-2.3.0', 
     'bootstrap': '../lib/bootstrap/js/bootstrap', 
     'jquery': '../lib/jquery/jquery-1.9.1' 
    } 
}); 
相關問題