TypeScript, Webpack, modules στυλ ES6 αλλά στοχεύοντας σε ES5
Είναι δυνατό να χρησιμοποιήσετε TypeScript και Webpack για να στοχεύσετε ES5, αλλά να γράφετε μονάδες με στυλ ES6;
Θέλω να γράψω μονάδες όπως αυτές:
export class MyClass {
}
Και εισάγετέ τα έτσι:
import {MyClass} from "Path/To/MyClass";
Αυτό λειτουργεί καλά με το SystemJS και ένα tsconfig όπως αυτό:
"compilerOptions": {
"target": "es5",
"module": "system",
}
Αλλά θα ήθελα να χρησιμοποιήσω το Webpack αντί για το SystemJS.
Με το «system» ως ρύθμιση του module, κατανοητά λαμβάνω «Το Σύστημα δεν ορίζεται» ως σφάλμα στην κονσόλα.
Είμαι νέος στο webpack, αλλά ίσως υπάρχει κάποιο συνδυασμός του ts-loader και babel-loader που μπορώ να χρησιμοποιήσω; Απλώς δεν μπορώ να βρω τη σωστή διαμόρφωση.
Απάντηση #1
Ναι, μπορείς. Στην έκδοση 1 του Webpack (η οποία είναι η τρέχουσα), το σύστημα δεν υποστηρίζεται. Πρέπει να στοχεύσεις το module σε commonjs έτσι:
"compilerOptions": {
"target": "es5",
"module": "commonjs",
}
Η έκδοση 2 του webpack θα υποστηρίζει τα συστήματα μονάδων.
