Karma proxies are not working

时光毁灭记忆、已成空白 提交于 2019-12-07 15:00:48

问题


I am using Karma (v0.12.37) as test runner along with JSPM (v0.16.2). I have added following proxy config in karma so as to allow proper loading of JSPM files:

proxies: {
    '/base/jspm_packages/': '/base/app/jspm_packages/'
}

Bu this doesn't work out and fails on following:

PhantomJS 2.0.0 (Windows 8 0.0.0) ERROR: 'Potentially unhandled rejection [10] Error: XHR error loading http://localhost:9876/base/jspm_packages/npm/babel-core@5.8.22.js
        Error loading http://localhost:9876/base/jspm_packages/npm/babel-core@5.8.22.js
        Error loading http://localhost:9876/base/app/pages/examples/todo-example/todo.controller.test.js'

Debug Logs are giving:

proxying request - /base/jspm_packages/npm/babel-core@5.8.22.js to localhost:9876
/base/app/jspm_packages/npm/babel-core@5.8.22.js { host: 'localhost',
  port: 9876,
  baseProxyUrl: '/base/app/jspm_packages/',
  https: false }

But the following url containing 'app' in it works properly:

http ://localhost:9876/base/ app/ jspm_packages/npm/babel-core@5.8.22.js

Any clue on what is going wrong?


回答1:


Try:

proxies: {
  '/app/': '/base/app/',
  '/jspm_packages/': '/base/jspm_packages/'
}



回答2:


If you have configured your jspm-config with a baseUrl of "/", try removing the baseUrl entry since karma-jspm does not support a custom baseUrl. Then you should be able to get rid of the "proxies" entry for the jspm_packages.

See: https://github.com/Workiva/karma-jspm/issues/91




回答3:


After having done lot of trial and error, found out the following way:

Instead of playing with proxies, alter the jspm paths config in karma.config.js

jspm: {
       ...
        paths: {
            "github:*": "app/jspm_packages/github/*",
            "npm:*": "app/jspm_packages/npm/*",
            'app/*': 'app/*.js'
        },

        ...
    },



回答4:


What finally did the trick for me (karma, babel, JSPM/SystemJS) was to have this:

Remove baseUrl from the karma.conf.js and have this jspm section:

 jspm: {
        config: 'config.js',
        loadFiles: [
            'www/**/*.spec.js'
        ],
        serveFiles: [
            'www/**/!(*spec).js'
        ],
        paths: {
            "github:*": "/base/jspm_packages/github/*",
            "npm:*": "/base/jspm_packages/npm/*",
            'www/*': '/base/www/*'
        }
    },


来源:https://stackoverflow.com/questions/32434792/karma-proxies-are-not-working

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!