karma-browserify выдает ошибку при попытке загрузить модули с shimmed browserify-shim
Я знаю, что были похожие вопросы, но ни один из них не решил мою проблему.
Когда я бегу karma test
он выдает следующую ошибку, каждый раз, когда пытается загрузить модуль, который был заблокирован с помощью browserify-shim:
TypeError: 'undefined' is not an object (evaluating 'module.exports = ex')
at /tmp/8ff1e03f7ba1f9c70ee4192510d267a2.browserify:3855:0 <- lib/underscore/underscore.js:1421:0
Мой karma.conf.js выглядит следующим образом:
module.exports = function(karma) {
karma.set({
frameworks: [ 'jasmine', 'browserify' ],
files: [
'test/spec/**/*Spec.js'
],
reporters: [ 'dots' ],
preprocessors: {
'test/spec/**/*Spec.js': [ 'browserify' ]
},
browsers: [ 'PhantomJS' ],
logLevel: 'LOG_DEBUG',
singleRun: true,
autoWatch: false,
// browserify configuration
browserify: {
debug: true,
transform: [ 'reactify', 'browserify-shim' ]
}
});
};
А вот соответствующая часть моего файла package.json:
...
"browser": {
"underscore": "./lib/underscore/underscore.js",
"jquery": "./lib/jquery/dist/jquery.js",
"typeahead": "./lib/bootstrap3-typeahead/bootstrap3-typeahead.js",
"bootstrap": "./lib/bootstrap/dist/js/bootstrap.js",
"q": "./lib/q/q.js"
},
"browserify-shim": {
"underscore": "_",
"jquery": "jQuery",
"typeahead": {
"depends": [
"jquery"
]
}
},
"browserify": {
"transform": [
"browserify-shim"
]
},
....
Есть идеи, что может вызвать проблему?
1 ответ
У меня была та же проблема, и я решил ее, удалив преобразование browserify-shim из файла конфигурации karma, поскольку оно уже объявлено как преобразование в файле package.json.
Надеюсь, это поможет.