Мне бы хотелось проверить работоспособность. Я запускаю тесты на нескольких веб-компонентах, используя karma + webpack (поэтому karma-webpack
). Само приложение компилируется, и все это прекрасно. Но когда я пытаюсь сделать то же самое с помощью karma-webpack
(даже с использованием того же самого конфига), это, похоже, не работает. Он продолжает выдавать ошибки при компиляции, когда я импортирую все, что не является js, какой веб-пакет должен был обработать. Поэтому для простоты (это безголовые юнит-тесты), если это что-то из этого, попытка просто null-loader
их:
test.webpack.config.js
module.exports = {
module: {
devtool: "inline-source-map",
module: {
rules: [
{
test: /\.(png|svg|jpg|gif|scss)$/,
loader: "null-loader"
},
{
test: /\.js$/,
loader: "babel-loader",
options: {
cacheDirectory: true
}
}
]
}
}
};
karma.conf.js
const path = require("path");
module.exports = function(config) {
config.set({
basePath: "",
singleRun: true,
browsers: ["ChromeHeadlessNoSandbox", "FirefoxHeadless"],
customLaunchers: {
ChromeHeadlessNoSandbox: {
base: "ChromeHeadless",
flags: ["--disable-gpu", "--no-sandbox"]
},
FirefoxHeadless: {
base: "Firefox",
flags: ["-headless"]
}
},
frameworks: ["mocha", "sinon-chai"],
files: [
{
pattern:
"../../node_modules/@webcomponents/webcomponentsjs/custom-elements-es5-adapter.js",
watched: false
},
{
pattern:
"../../node_modules/@webcomponents/webcomponentsjs/webcomponents-bundle.js",
watched: false
},
"test/unit/index.js"
],
preprocessors: {
"test/unit/index.js": ["webpack", "sourcemap"]
},
reporters: ["dots"],
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
client: {
mocha: {
reporter: "html",
ui: "bdd"
},
chai: {
includeStack: true
}
},
webpack: require("./test.webpack.config"),
webpackMiddleware: {
stats: "errors-only"
},
webpackServer: {
noInfo: true
},
webpack: {
output: {
filename: "[name]"
}
}
});
};
Получившаяся ошибка будет выглядеть примерно так:
ERROR in ../my/project/src/assets/images/_proto/dashboard.png 1:0 Module parse failed: Unexpected character '�' (1:0) You may need an appropriate loader to handle this file type. (Source code omitted for this binary file)