Webpack resolve.root und TypeScript-Loader

9

Unser Projekt verwendet die Option webpack resolve.root , um Module mit absoluten Pfaden zu importieren. (etwas wie ../../../module vermeiden)
In seinem momentanen Zustand verwendet das Projekt babel-loader , was völlig in Ordnung ist.
Meine Aufgabe ist es, die App auf Angular 2 zu migrieren.
Daher bin ich gerade dabei, auf TypeScript umzusteigen.
Irgendwie scheint der ts-loader nicht in Kombination mit der Option resolve.root der Webpack-Konfiguration zu funktionieren.

Beispiel für webpack.config.js

%Vor%

Beispiel für einen Modulimport
import AbstractListState from 'states/abstract_list_state';

Das Verzeichnis states befindet sich im Verzeichnis app/lib .

Fehler beim Ausführen von webpack

%Vor%     
Marc 01.07.2016, 08:56
quelle

1 Antwort

2

Vor Version 2.0 versucht TypeScript, Module mit einem absoluten Pfad aus dem Verzeichnis node_modules zu laden. Dies liegt daran, dass TypeScripts Modulresultat standardmäßig auf "node" gesetzt ist. Dies bedeutet, dass es wie die require-Methode des Knotens funktioniert. Selbst wenn Sie webpack zum Erstellen Ihrer App verwenden, möchte TypeScript (und sein Compiler) die Dateien dennoch laden.

Damit das Webpack Ihre Module mit absolutem Pfad importieren kann, müssen Sie zurückgehen und die Methode require verwenden. Auf diese Weise lässt TypeScript das Webpack importieren. Aber natürlich bekommen Sie keine Art-Inferenz, Autocomplete, ...

Oder Sie aktualisieren auf die TypeScript 2.0 Beta und versuchen es: Ссылка

    
Sebastian Sebald 12.08.2016, 10:06
quelle