Webpack Aurelia:错误:无法在带有Web包的Karma测试中找到ID为Aurelia pal浏览器的模块

Webpack Aurelia:错误:无法在带有Web包的Karma测试中找到ID为Aurelia pal浏览器的模块,webpack,karma-webpack,aurelia,Webpack,Karma Webpack,Aurelia,我在为Aurelia组件创建测试时遇到问题。在Karma debug中,控制台显示: 错误:无法从aurelia loader网页中找到ID为:aurelia pal browser的模块 我正在使用Webpack4和Karma 2 我试过这些建议,但没有成功 以前有人见过这个吗 业力形态 奥雷利亚试验 从'aurelia testing'导入{StageComponent}; 从'aurelia bootstrapper'导入{bootstrap}; 从'aurelia pal'导入{PLAT

我在为Aurelia组件创建测试时遇到问题。在Karma debug中,控制台显示:

错误:无法从aurelia loader网页中找到ID为:aurelia pal browser
的模块

我正在使用Webpack4和Karma 2

我试过这些建议,但没有成功

以前有人见过这个吗

业力形态 奥雷利亚试验
从'aurelia testing'导入{StageComponent};
从'aurelia bootstrapper'导入{bootstrap};
从'aurelia pal'导入{PLATFORM};
导出类TestViewModel{
}
描述('cbs-toast测试',()=>{
let组件;
让视图模型;
在每个之前(()=>{
viewModel=新的TestViewModel();
组件=阶段组件
.withResources(PLATFORM.moduleName('cbs-toast'))
.inView(“”)
.boundTo(视图模型);
});
它('加载正常',完成=>{
创建(引导)。然后(()=>{
完成();
}).catch(e=>{
log(例如toString());
});
});
之后(()=>{
component.dispose();
});
});

是的,大多数情况下,如果aurelia给出一个错误,说“找不到ID为的模块”,那是因为我们调用模块时没有使用PLATFORM.moduleName()。尝试在项目中搜索模块名“aurelia pal browser”,并将其包装如下。
PLATFORM.moduleName('aurelia-pal-browser')

问题是我没有调用aurelia-pal-browser,而是调用了aurelia webpack插件。这是我无法控制的。甚至他们的例子也不起作用:你能在下面的网站上放同样的东西吗
module.exports = function(config) {
  config.set({
    basePath: '',frameworks: ['jasmine'],
    files: [
      './setup.js',
      '../src/**/*.js',
      './unit/**/*.js'
    ],
    exclude: [],
    preprocessors: {
      './setup.js': ['webpack'],
      '../src/**/*.js': ['webpack', 'coverage'],
      './unit/**/*.js': ['webpack']
    },
    reporters: ['progress', 'coverage'],
    webpack: {
      mode: 'development',
      module: {
        rules: [{
          test: /\.js$/,
          exclude: /node_modules/,
          use: {
            loader: 'babel-loader'
          }
        }]
      }
    },
    port: 9876,
    colors: true,
    logLevel: config.LOG_INFO,
    autoWatch: true,
    browsers: ['Chrome'],
    singleRun: false
  });
};
import { StageComponent } from 'aurelia-testing';
import { bootstrap } from 'aurelia-bootstrapper';
import { PLATFORM } from 'aurelia-pal';

export class TestViewModel {
}

describe('cbs-toast tests', () => {
  let component;
  let viewModel;

  beforeEach(() => {
    viewModel = new TestViewModel();
    component = StageComponent
      .withResources(PLATFORM.moduleName('cbs-toast'))
      .inView('<div><toast></toast></div>')
      .boundTo(viewModel);
  });

  it('loads ok', done => {
    component.create(bootstrap).then(() => {
      done();
    }).catch(e => {
      console.log(e.toString());
    });
  });

  afterEach(() => {
    component.dispose();
  });
});