在我的项目中,我的条目TypeScript文件中只有一行:
// app.ts
import Phaser from 'phaser'
阶段a是位于我的node_modules
文件夹中的依赖项。我的webpack.config.js
看起来像这样:
const path = require('path');
module.exports = {
mode: 'production',
devtool: 'source-map',
entry: './src/app.ts',
output: {
path: path.resolve(__dirname, 'dist'),
filename: 'app.js',
},
resolve: {
extensions: ['.ts', '.js'],
},
module: {
rules: [
{
test: /.tsx?/,
use: 'ts-loader',
exclude: [/node_modules/],
},
{
test: /.js$/,
exclude: [/node_modules/],
},
]
}
};
奇怪的是,生成的文件包含数百行代码。看起来Webpack捆绑了整个库。不应该是这种情况,因为我排除了node_modules
文件夹。
如何让Webpack停止执行此操作?
据我所知,Phaser 3没有树抖动,因此导入Phaser就是导入整个Phaser库及其所依赖的一切。Webpack无法知道你根本没有实际使用过它(也不打算在运行时使用(