[Ext.Loader]:某些请求的文件无法加载

时间:2017-01-02 09:56:38

标签: extjs karma-runner

karma start karma.conf.js extjs应用程序单元测试使用mocha 运行命令时,它会抛出上述错误。 我的代码看起来像这样: 我已将路径变量设置为:

**var paths** = {
        'Demo': 'packages/demo/src',
        'NewR3': 'extjs/r3/app',
        'BasicFiles' : 'packages',
        'Portal': 'extjs/portal/app',
        'Ext.ux': 'frameworks/extjs/src/ux'
    };

Ext.Loader.setConfig({
    enabled: true,
    paths: paths,
    disableCaching: true    
});

Ext.require([
    'Ext.ux.grid.*',
    'Ext.ux.data.*',
    'Ext.ux.toolbar.Paging',
    'Ext.ux.form.MultiSelect',
    'Ext.ux.IFrame'
]);

Ext.require([
    'BasicFiles.deft.deft-debug',
    'BasicFiles.PM.PM-debug',
    'Portal.util.PortalDataProvider',
    'Portal.util.PortalUtil',

]);

WARN [web-server]:404:/base/extjs/portal/app/util/Startup.js?_dc=1483346775630 WARN [web-server]:404:/base/extjs/portal/app/util/ResourceLoader.js?_dc=1483346775630 WARN [web-server]:404:/base/extjs/portal/app/view/Viewport.js?_dc=1483346775630 运行上述命令后出现的警告:

1 个答案:

答案 0 :(得分:2)

当您以 karma start karma.conf.js 运行命令时,服务器将从项目的基本路径中获取karma.conf.js中包含的所有文件。

当您还需要Ext.Loader中的文件时,由于服务器从基本路径加载,因此无法加载路径,并且路径与Ext.Loader冲突。

包含要在karma.conf.js中加载的所有文件,而不是从Ext.require中包含它,服务器将加载状态为200的所有文件,没有任何冲突。

karma.conf.js文件

module.exports = function(config) {
config.set({

    frameworks: ['mocha', 'chai'],

    plugins: [
              'karma-mocha',
              'karma-chai',
              'karma-coverage',
              'karma-chrome-launcher',
              'karma-html-reporter',

            ],


    files: [
       // **All files here**

    ],

    reporters: ["dots", "progress", "coverage", "html"],

    port: 9876,

    coverageReporter: {
        type: 'html',
        dir: 'coverage/'
    },

    preprocessors: {
        //coverage files here
    },

    htmlReporter: {
        outputDir: 'karma_dir'
    },
    colors: true,

    proxies: {
        "data/": "http://localhost:9876/base/data"
    },

    logLevel: config.LOG_DEBUG,

    autoWatch: false,

     browsers: ["Chrome"],

    singleRun: true
});