TypeScript和Webpack树状摇动示例

如果你正在用 Typescript 和 Webpack 做项目,会遇到代码冗余的问题,嗯,这时候树状摇动就能帮你去掉那些没用的代码。这个仓库就了一个不错的示例,展示了如何配置 Typescript 和 Webpack 来启用摇树。通过这个配置,Webpack 会在捆绑时自动删除没有用到的代码,减少最终包的体积。值得注意的是,Webpack 和 UglifyJS 的结合能删除未使用的函数和变量,但是它只会删除那些在代码中完全没有被调用的部分。所以,如果你也想搞定这个问题,试试这个项目,挺简单易上手的哦。

你可以在app/文件夹找到源代码,主要的文件是car.js,你会发现其中并没有用到engine.js。生成的文件会在/dist文件夹里,Webpack 会把它们打包并去除无用部分。这个资源对于需要优化代码体积的项目有用,尤其是用到了 ES2015 模块格式的情况下。

不过要注意,Webpack 的树摇动机制并不像 Rollup 那样严格,它更多依赖于压缩程序进一步去掉冗余部分,所以你的开发版本会包含一些代码。,对于想要减少代码冗余、提升性能的开发者,这个示例真的不错。

zip
typescript-webpack-tree-shaking-master.zip 预估大小:18个文件
folder
typescript-webpack-tree-shaking-master 文件夹
file
index.html 454B
file
webpack.es2015.config.js 515B
file
webpack.config.js 452B
file
favicon.ico 7KB
file
.babelrc 25B
file
tsconfig.json 362B
file
webpack.prod.config.js 766B
folder
dist 文件夹
file
car.prod.bundle.js 971B
file
car.es2015.bundle.js 3KB
file
car.es2015.prod.bundle.js 783B
file
car.bundle.js 4KB
file
tsconfig.es2015.json 365B
file
webpack.es2015.prod.config.js 615B
file
.gitignore 27B
folder
app 文件夹
file
car.ts 234B
file
engine.ts 262B
file
readme.md 2KB
file
package.json 1KB
zip 文件大小:12.67KB