В попытке повысить свои общие навыки программирования... и узнать что-то новое. Я начал пытаться подключить решение только для внешнего интерфейса, состоящее из
- Дюрандаль
- Жасмин — [добавлено через npm]
- Grunt Watch для мониторинга и запуска моих тестов по мере изменения файлов кода — [добавлено через npm]
Не стесняйтесь исправлять меня, так как все это основано на моих экспериментах за последние 2 дня. Большая часть этого для меня в новинку. Моя цель состоит в том, чтобы иметь что-то похожее на то, что имеет angular с кармой.
Теперь я знаю, что проект Durandal (поставляется с настраиваемым исполнителем спецификаций, найденным в решении 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 на скриншоте)
Вопрос:
Как мне настроить мой файл grunt, чтобы он требовал каких-либо зависимостей. Я новичок в требовании, и я не уверен, как настроить его, чтобы мои тесты знали, где найти такие вещи, как сторонние библиотеки и другие пользовательские файлы js, если на то пошло.