2016-10-24 3 views
0

ich dieseWebpack gebaut Typoskript Dateien-Module sind leer Objekte

module: { 
    loaders: [ 
    { test: /\.ts$/, loader: 'awesome-typescript-loader' } 
    ] 
} 

auch in dieser tsconfig.json in webpack config

{ 
    "compilerOptions": { 
     "target": "es5", 
     "module": "commonjs", 
     "moduleResolution": "node" 
    }, 
    "files": [ 
     "./src/library.ts", 
     "./src/test-utils.ts", 
     "./src/request-service", 
     "./typings/index.d.ts" 
    ] 
    } 

und diese in Tests für Mokka:

const Library = require('../dist/library'); 

const testUtils = require('../dist/test-utils'); 

const MockRequestService = testUtils.MockRequestService; 

const assert = require('assert'); 

const djs = new Library('/'); 

testUtils und Library sind leere Objekte. Die neue Bibliothek gibt den Fehler aus, dass sie nicht mit new verwendet werden kann, da es sich nicht um einen Konstruktor handelt.

Ich habe dir richtige Export-Standard und exportiert, wie ich es in einfachen Babel + ES6 Build und Dateien in/dist scheinen in Ordnung zu sein. Versuchen Sie herauszufinden, vielleicht habe ich etwas falsch mit Typoskript-Konfiguration (neu zu ihm)?

Edit: wert zu sagen, ich habe so etwas wie Abhängigkeit zu Webpack Einstiegspunkt (test-utils Import-Schnittstellen aus der Bibliothek), aber (!) Wegen der Schnittstellen in TypeScript, ich importiere nur sie aus anderen Modulen, deshalb gibt es hacken in webpack config ([] Klammern für Einträge)

Antwort

1

testUtils und Library sind leere Objekte. Die neue Bibliothek gibt den Fehler aus, dass sie nicht mit new verwendet werden kann, da es sich nicht um einen Konstruktor handelt.

Verwendung import statt erfordern:

import Library = require('../path/to/src/library'); 

Und laufen Mokka mit ts-Knoten: https://github.com/TypeStrong/ts-node#mocha

+0

Dank! Einige zusätzliche Informationen für diejenigen, die Hilfe benötigen: – idchlife

+0

Sie können die gebündelten Webpack-Module nicht in Nodejs-Tests verwenden, da sie wie Knotenmodule sind (ohne sie speziell für Knoten zu erstellen). Also ... Testen Sie die Quelle besser! – idchlife

Verwandte Themen