Webpack Aurelia:错误:无法在带有Web包的Karma测试中找到ID为Aurelia pal浏览器的模块
我在为Aurelia组件创建测试时遇到问题。在Karma debug中,控制台显示: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 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();
});
});