我有一个模块,它是名为phaser
的javascript ES5模块。它还包含类型声明。
在我的main.ts
文件中,
import * as phaser from 'phaser'
如果我使用webpack来构建它(我正在使用ts-loader作为webpack中的模块规则),那么最终输出将根本不包含phaser
了。如果我将console.log(phaser)
添加到文件中,则构建输出将包含phaser library
。
问题:好像是因为我不使用phaser
,所以摇树是可行的,但是为什么呢?我问是因为phaser
是用ES5编写的,所以即使我将其导入为ES6,摇树仍然不起作用。一个很好的例子是,如果我像上面一样更改main.ts to main.js
并仅具有导入语句,即使我没有console.log(phaser)
,最终版本也将包含phaser
。似乎与ts-loader or tsconfig.json?
有关,有什么想法吗?我的空tsconfig.json
并不是为了使事情复杂化。