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.

Надеюсь, это поможет.

Другие вопросы по тегам