2015-06-19 12 views
5

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?

Antwort

7

folgende Unterlagen an das Karma webpack Config regelte es für mich Hinzufügen

resolve: { 
    extensions: ['', '.js', '.ts'] 
}, 
Verwandte Themen