2017-06-19 2 views
1
nicht gefunden

Ich verwende Visual Studio Professional 2015 und verfüge über eine Angular 4, TypeScript und Webpack-Anwendung.Visual Studio TypeScript - Modul

Wir wollten import von Verzeichnissen sowie Dateien, so zB haben wir einen Ordner namens core mit einer Reihe von verschiedenen Komponenten in diesem Ordner, und auch im Stammverzeichnis des Ordners, haben wir einen Index .ts-Datei, die alles aus jeder der Dateien im Ordner exportiert. So zum Beispiel im Kern Ordner gibt es eine Komponente core.services.utils.ts genannt:

export class Utils { 
    static isFunction(test: any): boolean { 
     return typeof test === 'function'; 
    } 
} 

Dann in der index.ts Datei, die wir haben:

export { Utils } from './core.services.utils'; 

In unserer Webpack Konfiguration haben wir einen Alias ​​für diesen in der resolve config:

alias: { 
    '@product/core': path.join(__dirname, './Features/core') 
} 

So, jetzt, in anderen Modulen können wir direkt aus dem Alias ​​importieren, zB

import { Utils } from '@product/core'; 

Wenn wir über Webpack bauen, ist alles gut und die App funktioniert wie erwartet. Leider kann Visual Studio finden Sie in der Alias ​​nicht in der Webpack Konfiguration, so dass, wenn wir über Visual Studio bauen gibt es Fehler wie:

Körperbau: Kann nicht finden Module '@ Produkt/core'

Wie kann Ich erzähle Visual Studio von diesem Alias? Muss ich eine index.d.ts Datei neben der index.ts Datei hinzufügen? Was sollte in dieser Datei enthalten sein?

Antwort

1

konnte ich dieses Problem beheben, indem Sie die paths config in der tsconfig.json Datei, zB:

"paths": { 
    "@product/core": [ "Shared/Features/core/index" ] 
} 

Es hat nicht ideal, um einen separaten Pfad für jeden Ordner habe ich von importieren, aber ich bin Ich bin froh, dass es die Buildfehler entfernt hat.

Verwandte Themen