javascript - fungerer typescript med webpack tree shaking med es5?


Jeg har en modul som er en JavaScript ES5-modul kalt phaser. Den inneholder også typedeklarasjoner.

I min main.ts-fil har jeg

import * as phaser from 'phaser'

Hvis jeg bygger det ved å bruke webpack, (jeg bruker ts-loader for modulregler i webpack), skjer det at den endelige outputen ikke inneholder phaser i det hele tatt. Hvis jeg legger til console.log(phaser) i filen min, inneholder byggeoutputen phaser-biblioteket.

Spørsmål: Det ser ut til at fordi jeg ikke bruker phaser, fungerer tree shaking, men hvorfor? Jeg spør fordi phaser er skrevet i ES5, så selv om jeg importerer det som ES6, burde ikke tree shaking fortsatt fungere. Et godt eksempel på dette er at hvis jeg endrer main.ts til main.js og kun har importsetningen som jeg har ovenfor, selv om jeg ikke console.log(phaser), vil den endelige bygget inneholde phaser. Det ser ut til å være noe relatert til ts-loader eller tsconfig.json? Noen ideer? Jeg har en tom tsconfig.json for å ikke gjøre ting komplisert.