Ich verwende Webpack sowohl für die App als auch für die Tests (unter Verwendung von https://github.com/webpack/karma-webpack dafür). Die App ist in Typoskript und die Tests in Babel.Webpack Karma kann den lokalen Import nicht auflösen
Importieren von etwas aus einem Standalone-Modul in den Tests funktioniert (mit import { cleanHTML, fromHTML, toHTML } from "../../app/utils/text.ts";
, dh ich muss die .ts-Erweiterung erwähnen, sonst scheitert es). Wenn ich tatsächlich versuche, eine React-Komponente zu importieren, die eine Komponente in eine andere Datei importiert, erhalte ich den folgenden Fehler: Module not found: Error: Cannot resolve 'file' or 'directory' ./blocks/paragraph
.
Der Baum des Verzeichnisses wie folgt aussieht:
src/
app/
components/
blocks/
paragraph.ts
main.ts
tests/
components/
main_tests.js
utils/
Und die main.ts Einfuhren paragraph.ts wie so import { ParagraphBlockComponent } from "./blocks/paragraph";
Normale Kompilierung funktioniert, aber nicht die Tests. Hier ist das Karma config:
var path = require('path');
module.exports = function (config) {
config.set({
basePath: 'src',
singleRun: true,
frameworks: ['mocha', 'chai'],
reporters: ['dots'],
browsers: ['Firefox'],
files: [
'tests/index.js'
],
preprocessors: {
'tests/index.js': ['webpack']
},
webpack: {
noInfo: true,
module: {
loaders: [
{
test: /\.ts$/,
loaders: ['awesome-typescript-loader']
},
{
test: /\_tests.js$/,
loaders: ['babel-loader']
}
]
}
},
webpackMiddleware: {
noInfo: true,
stats: {
color: true,
chunkModules: false,
modules: false
}
}
});
};
Habe ich etwas verpasst?