我正在开发一个当前使用 CoffeeScript 和 JavaScript 的生产系统。我们希望逐步将源代码迁移到 TypeScript,以期最终迁移到 Angular 2。
我将 karma 与以下 karma.conf.js 配置文件一起使用。当我开始添加 TypeScript 支持时,我开始迅速陷入潜在修复和死胡同的兔子洞。我需要使用karma-systemjs
吗?可以karma-systemjs
处理 CoffeeScript 吗?可以karma-systemjs
和browserify一起工作吗?我应该切换到 Webpack 吗?我应该karma-typescript
改用吗?如果是这样,它可以处理 CoffeeScript 吗?
无数的选择令人困惑。任何指导将不胜感激。
/*global module */
"use strict";
module.exports = function(config){
config.set({
basePath: '../',
files : [
'node_modules/angular/angular.js',
'node_modules/angular-mocks/angular-mocks.js',
'node_modules/angular-ui-bootstrap/dist/ui-bootstrap.js',
'node_modules/angular-ui-calendar/src/calendar.js',
'node_modules/angular-ui-grid/ui-grid.js',
'node_modules/angular-ui-router/release/angular-ui-router.js',
'node_modules/ui-select/dist/select.js',
'node_modules/angular-aria/angular-aria.js',
'node_modules/angular-animate/angular-animate.js',
'node_modules/angular-material/angular-material.js',
'node_modules/angular-sanitize/angular-sanitize.js',
'node_modules/pouchdb/dist/pouchdb.js',
'app/config/**/*.js',
'app/source/**/*.js',
'test/unit/**/*.js'
],
autoWatch: true,
frameworks: ['browserify', 'jasmine'],
browsers: ['PhantomJS'],
//browsers: ['Chrome'], // Use "Chrome" for debugging since phantomjs can swallow some errors
plugins: [
'karma-browserify',
'karma-jasmine',
'karma-phantomjs-launcher',
'karma-chrome-launcher'
],
preprocessors: {
'app/config/**/*.js': ['browserify'],
'app/source/**/*.js': ['browserify'],
'test/unit/**/*.js': [ 'browserify']
},
browserify: {
debug: true,
transform: ['coffeeify', 'babelify'],
extensions: [ ".coffee"]
},
// web server port
port: 9876,
// enable / disable colors in the output (reporters and logs)
colors: true,
// level of logging
// possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
logLevel: config.LOG_INFO,
// Continuous Integration mode
// if true, Karma captures browsers, runs the tests and exits
singleRun: false,
// Concurrency level
// how many browser should be started simultaneous
concurrency: Infinity
});
};