React.js app.js file size(React.js app.js 文件大小)
问题描述
我创建了包含 7 个页面和 13 个组件的非常简单的 react 应用程序.我正在使用 gulp 编译它,browserify 用于依赖项,所有文件都被最小化.
I created pretty simple react application containing 7 pages and 13 components. I am using gulp to compile it, browserify for dependencies, all files are minimized.
我构建的 app.js
文件有 1.1 MB
.我觉得挺大的.
My build'ed app.js
file has 1.1 MB
. I think it is quite big.
我能做些什么来减小它的大小?有没有什么好的做法可以实现最小尺寸?
What can I do to reduce its size ? Are there any good practices to achieve smallest size ?
我没有依赖的源代码是91 KB
.
My source code without dependencies is 91 KB
.
推荐答案
使用 webpack-uglify 并禁用 source maps 可以极大地提高输出到合理的大小(对于 hello world 应用程序约为 140kbs)
Using webpack-uglify and disabling source maps can greatly improve the output to a reasonable size (~140kbs for a hello world application)
几个步骤:
将 webpack 配置中的 devtool
设置为 cheap-source-map
或 cheap-module-source-map
以便不捆绑源映射输出:
Setting devtool
in webpack config to cheap-source-map
or cheap-module-source-map
so the source maps are not bundled with the output:
{
eval: 'cheap-source-map'
}
激活 uglify 插件或使用 -p
参数调用 webpack
Activate uglify plugin or call webpack with -p
argument
plugins: [
new webpack.optimize.UglifyJsPlugin({
compress: {
warnings: false
}
})
]
为生产定义节点环境导致 webpack 删除测试助手并优化输出大小:
Defining node environment for production causes webpack to remove test helpers and optimize the ouput size:
plugins: [
new webpack.DefinePlugin({
'process.env': {
'NODE_ENV': JSON.stringify('production')
},
})
]
注意:这些步骤应仅用于生产构建,因为它们会增加构建时间.
Note: these steps should be only used for production builds as they increase the build time.
资源:https://medium.com/modus-create-front-end-development/optimizing-webpack-production-build-for-react-es6-apps-a637e5692aea#.bug2p64de
这篇关于React.js app.js 文件大小的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:React.js app.js 文件大小
基础教程推荐
- Chart.js 在线性图表上拖动点 2022-01-01
- 我可以在浏览器中与Babel一起使用ES模块,而不捆绑我的代码吗? 2022-01-01
- 如何使用JIT在顺风css中使用布局变体? 2022-01-01
- 如何使用TypeScrip将固定承诺数组中的项设置为可选 2022-01-01
- Electron 将 Node.js 和 Chromium 上下文结合起来意味着 2022-01-01
- 用于 Twitter 小部件宽度的 HTML/CSS 2022-01-01
- html表格如何通过更改悬停边框来突出显示列? 2022-01-01
- Vue 3 – <过渡>渲染不能动画的非元素根节点 2022-01-01
- 自定义 XMLHttpRequest.prototype.open 2022-01-01
- 直接将值设置为滑块 2022-01-01