私の一般的なコーディングスキルをレベルアップしようとして...そして何か新しいことを学ぼうとしています. 以下で構成されるフロントエンドのみのソリューションを配線しようとし始めました
- デュランダル
- ジャスミン - [npm経由で追加]
- コードファイルの変更に合わせてテストを監視および実行する Grunt Watch - [npm 経由で追加]
これはすべて過去 2 日間の実験に基づいているため、お気軽に訂正してください。これのほとんどは私にとって新しいものです。私の目標は、angular がカルマに持つものと同様のものを持つことです。
今、私はデュランダル プロジェクト (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"
}
}
});
grunt を実行すると、不正なパスまたはスクリプト エラー ['plugins/http'] が表示されます (スクリーンショットで ko の問題を整理しました)。
質問:
依存関係を必要とするように gruntfile を設定するにはどうすればよいですか。私はrequireするのが初めてで、テストでサードパーティのライブラリやその他のカスタムjsファイルなどを見つける場所を認識させるように構成する方法がわかりません