React.js app.js 文件大小

2023-12-30

我创建了非常简单的 React 应用程序,包含 7 个页面和 13 个组件。 我使用 gulp 来编译它,使用 browserify 来获取依赖项,所有文件都被最小化。

我建造的app.js文件有1.1 MB。我认为它相当大。

我可以做什么来减小它的大小? 有什么好的做法可以实现最小尺寸吗?

EDIT:

我的源代码没有依赖项是91 KB.


使用 webpack-uglify 并禁用源映射可以极大地将输出提高到合理的大小(对于 hello world 应用程序约为 140kbs)

几个步骤:

Setting devtool在 webpack 配置中cheap-source-map or cheap-module-source-map因此源映射不与输出捆绑在一起:

{
  eval: 'cheap-source-map'
}

激活 uglify 插件或调用 webpack-p争论

plugins: [
  new webpack.optimize.UglifyJsPlugin({
    compress: {
      warnings: false
    }
  })
]

定义生产节点环境会导致 webpack 删除测试助手并优化输出大小:

plugins: [
  new webpack.DefinePlugin({
    'process.env': {
      'NODE_ENV': JSON.stringify('production')
    },
  })
]

注意:这些步骤应该仅用于生产构建,因为它们会增加构建时间。

资源:https://medium.com/modus-create-front-end-development/optimizing-webpack-product-build-for-react-es6-apps-a637e5692aea#.bug2p64de https://medium.com/modus-create-front-end-development/optimizing-webpack-production-build-for-react-es6-apps-a637e5692aea#.bug2p64de

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

React.js app.js 文件大小 的相关文章

  • Android 设备上的 PhoneGap 蓝牙插件

    我一直在尝试让 PhoneGap 工作的蓝牙插件 但我似乎不知道哪里出了问题 首先 我的测试设备是 Galaxy S3 GT 19305T 应用程序是使用PhoneGap CLI http docs phonegap com en 3 0
  • 为什么 JavaScript base-36 转换看起来不明确

    我目前正在编写一段使用 Base 36 编码的 JavaScript 我遇到了这个问题 parseInt welcomeback 36 toString 36 看来要回归了 welcomebacg 我在 Chrome 开发者控制台和 Nod
  • 使用模数按字母顺序对列表进行排序

    我在获取元素列表并按字母顺序对它们进行排序方面没有任何问题 但我很难理解如何使用模数来做到这一点 更新 这是按我的方式工作的代码 但是 我更喜欢下面提供的答案的可重用性 因此接受了该答案
  • jQuery AJAX 调用 Java 方法

    使用 jQuery AJAX 我们可以调用特定的 JAVA 方法 例如从 Action 类 该 Java 方法返回的数据将用于填充一些 HTML 代码 请告诉我是否可以使用 jQuery 轻松完成此操作 就像在 DWR 中一样 此外 对于
  • 检查 JavaScript 字符串是否为 URL

    JavaScript 有没有办法检查字符串是否是 URL 正则表达式被排除在外 因为 URL 很可能是这样写的stackoverflow 也就是说它可能没有 com www or http 如果你想检查一个字符串是否是有效的 HTTP UR
  • Meteor:应用程序无法在 0.9.1.1 版本上运行

    出现类似错误 Error TypeError undefined is not a function evaluating Template create anonymous function iron dynamic template j
  • 除了更改标题之外,如何在 Firefox 中强制另存为对话框?

    有没有办法在 ff 中强制打开 www example com example pdf 的另存为对话框 我无法更改标题 如果您可以将文件以 Base64 格式输出到客户端 则可以使用 data uri 进行下载 location href
  • 标签获取 href 值

    我有以下 html div class threeimages a img alt Australia src Images Services 20button tcm7 9688 gif a div class text h2 a hre
  • 在requestAnimationFrame中使用clearRect不显示动画

    我正在尝试在 HTML5 画布上做一个简单的 javascript 动画 现在我的画布是分层的 这样当我收到鼠标事件时 背景层不会改变 但带有头像的顶层会移动 如果我使用 requestAnimationFrame 并且不清除屏幕 我会看到
  • Meteor - 从客户端取消服务器方法

    我正在通过服务器方法执行数据库计数 用户可以选择他们希望如何执行计数 然后调用该方法 我的问题是 计数可能需要一些时间 并且用户可能会在方法运行时改变主意并请求不同的计数 有什么方法可以取消调用的方法并运行新的计数吗 我认为 this un
  • 在javascript中解析json - 长数字被四舍五入

    我需要解析一个包含长数字的 json 在 java servlet 中生成 问题是长数字被四舍五入 当执行这段代码时 var s x 6855337641038665531 var obj JSON parse s alert obj x
  • 提交表单并重定向页面

    我在 SO 上看到了很多与此相关的其他问题 但没有一个对我有用 我正在尝试提交POST表单 然后将用户重定向到另一个页面 但我无法同时实现这两种情况 我可以获取重定向或帖子 但不能同时获取两者 这是我现在所拥有的
  • Angular 2+ 安全性;保护服务器上的延迟加载模块

    我有一个 Angular 2 应用程序 用户可以在其中输入个人数据 该数据在应用程序的另一部分进行分析 该部分仅适用于具有特定权限的人员 问题是我们不想让未经授权的人知道how我们正在分析这些数据 因此 如果他们能够在应用程序中查看模板 那
  • 在 React 中实现 Google 登录错误 -

    我正在尝试在 React 中实现 google 登录 这是我的组件 import Fragment useEffect from react import GOOGLE CLIENT ID from some file const Goog
  • 如何在类似控制台的环境中运行 JavaScript?

    我正在尝试遵循这里的示例 http eloquentjavascript net chapter2 html http eloquentjavascript net chapter2 html and print blah 在浏览器中运行时
  • 摆脱node-jsx

    在我的 NodeJS 应用程序的路由器中 我想渲染一个 React 应用程序 由于它没有被浏览器化 并且已反应 因此它返回unexpected token lt 构建时出错 我发现如果我require node jsx install 它不
  • 如何更改此 jquery 插件的时区/时间戳?

    我正在使用这个名为 timeago 的插件 在这里找到 timeago yarp com 它工作得很好 只是它在似乎不同的时区运行 我住在美国东部 费城时区 当我将准确的 EST 时间放入 timeago 插件时 比如 2011 05 28
  • 导致回发到与弹出窗口不同的页面

    我有一个主页和一个详细信息页面 详细信息页面是从主页调用的 JavaScript 弹出窗口 当单击详细信息页面上的 保存 按钮时 我希望主页 刷新 是否有一种方法可以调用主页的回发 同时还可以从详细信息页面维护保存回发 Edit 使用win
  • fullCalendar 未显示正确的结束日期

    我正在看调试页面 http jsbin com wukofacaxu edit js outputFullCalendar 官方网站的 我想安排一个活动时间为 22 09 2015 至 30 09 2015 dd mm yyyy 但它只显示
  • 如何在 Swiper 实例之外使用 useSwiper?

    我在用着用于 React 的滑动器 https swiperjs com react显示一些幻灯片 我一直坚持使用外部按钮在幻灯片 上一张和下一张 之间导航 刷卡器有一个useSwiper hook https swiperjs com r

随机推荐

  • 通过 setName() 比较组件。

    我正在编写一个图像拼图游戏 代码的一部分是将用户选择的片段与正确图像的片段进行比较 每个图像片段都已作为 ImageIcon 添加到 JButton 需要一个标识符来区分每个图像片段并进行比较 我正在为每个创建为标识符的 JButton 设
  • Java - 字段名称的别名

    假设我有一个对象 Object A String field1 abc String field2 xyz 上面的 json 是 ObjectA field1 abc field2 xyz 我试图在发送 json 之前为字段名称创建一个新的
  • 构建一个简单的键盘记录器 Android 应用程序:虚拟键盘的辅助功能研究

    我一直在尝试寻找一些资源 以便为 Android 平台 APILevel 17 上的辅助功能研究项目构建键盘记录器 Android 应用程序 应用程序的界面将是一个简单的 编辑文本 用户使用以下命令键入的字段虚拟屏幕键盘 从输入设置中选择所
  • Dalvik 到 Java SE 通信

    我正在计划开发一个 Android 应用程序 它需要后端服务器来与该应用程序的其他用户同步数据 我计划用在 UNIX 服务器上运行的标准 java 编写这个服务器 我曾经直接在两个 Android 设备之间执行此操作 在这种情况下 我只是序
  • 如何对具有非数值的数据框进行分组和透视

    我正在使用 Python 并且有一个包含 6 列的数据集 R Rc J T Ca 和 Cb 我需要先 聚合 列 R 然后 聚合 以便对于每个 R 每一行都是唯一的 J Rc 是 R 的特征 Ca 和 Cb 是 T 的特征 查看下表会更有意义
  • 什么是 UI 状态?

    什么是 UI 状态 你能给我举一个类似的例子吗 例如 它是否指的是跟踪打开的选项卡之类的事情 我认为这个想法是应用有状态 并且 UI 反映了该状态 所以当你的应用程序启动时 它会像下面这样 1 初始状态 应用程序启动 2 加载初始数据 加载
  • 自动前缀过滤器在 Flask_Assets 中不起作用

    我尝试按照以下说明让 autoprefixer 过滤器与 Flask assets 一起使用Flask Assets 文档 https webassets readthedocs io en latest builtin filters h
  • 如何使用 core php 在 WordPress 中注册后自动登录

    几天来我一直在尝试让刚刚注册到我的 WordPress 网站的用户自动登录 然后将他们重定向到我选择的 URL 默认情况下 WordPress 会向您发送用户名和密码 然后您必须手动登录 这是一种彻底的痛苦 我怎样才能克服这个问题 我有自己
  • Java随机数

    初学者问题在这里 我尝试使用此代码创建一个随机数 int rand int Math random 10 但是 当打印到屏幕时 我一直收到 0 作为答案 只有在像这样加上括号之后 int rand int Math random 10 数字
  • 堆空间中的缓冲响应会导致大文件出现问题

    我有一个网络服务器项目 在尝试下载大文件时遇到异常 该文件通过流读取并写入 ServletOutputStream 示例代码 private void readFromInput BufferedInputStream fis Servle
  • AMQP 1.0 实现在哪里?等待还有意义吗?

    我正在进行研究 以确定我们未来的产品应采用哪种消息传递解决方案 但我无法真正弄清楚这一点 有很多 AMQP 0 9 1 实现 RabbitMQ Apache Qpid OpenAMQ 等 但没有 AMQP 1 0 实现 尽管 1 0 已于
  • 如何在 OpenAPI (Swagger) 中指定默认的 XML 元素文本?

    我正在为以下 XML 有效负载构建 OpenAPI Swagger 2 0 定义 以在 Swagger UI 中使用
  • WinSpool OpenPrinter 访问被拒绝

    这是这个问题第 335 次被问到 但我没有找到答案 我正在尝试通过 WinSpool api 从 ASP net C 应用程序将原始数据直接发送到打印机 我的代码只是一个副本here http support microsoft com k
  • 使用多索引将数据帧的一部分与另一部分进行比较

    我有一个具有 3 级多重索引的数据框 gt gt gt np random seed 0 gt gt gt df pd DataFrame np random randint 10 size 18 2 index pd MultiIndex
  • 解码字符串有多少种方法?

    我正在解决需要解码字符串的问题 包含 A Z 字母的消息正在被编码为数字 使用以下映射 A gt 1 B gt 2 Z gt 26 给定一个仅包含数字的非空字符串 确定总数 解码它的方法的数量 示例1 输入 12 输出 2 解释 可以解码为
  • 设计authenticate_user的代码是什么!为 :user 生成后

    我意识到authenticate user is 没有明确定义 https stackoverflow com questions 9272272 where is devise implementation of authenticate
  • 非托管 C++ - 需要强名称才能由具有强名称的 C++/CLI dll 引用吗?

    我有一个非托管 C dll 它将由托管 C CLI 包装器 dll 使用 最终将由 C 项目使用 C 项目是强名称的 包装器 dll 也是如此 我尝试使用 KEYFILE 对非托管 dll 执行相同的操作 但似乎不起作用 包装器正在抱怨 i
  • 在命令行程序中使用 emacs 或 vim 的语法荧光笔?

    我有一个可以输出 JSON 和 YAML 的命令行程序 默认情况下 它会检测 pygments pygmentize 是否可用 如果可用 则将输出传递给它以获得漂亮的彩色输出 但是 默认情况下 大多数运行该程序的计算机上并未安装 pygme
  • 如何查找 Webpack 条目的块

    我正在使用 webpack 对遗留的多页 ASP NET Web 表单应用程序进行现代化改造 在我尝试使用之前 我已经取得了相当大的成功SplitChunks插件 https webpack js org plugins split chu
  • React.js app.js 文件大小

    我创建了非常简单的 React 应用程序 包含 7 个页面和 13 个组件 我使用 gulp 来编译它 使用 browserify 来获取依赖项 所有文件都被最小化 我建造的app js文件有1 1 MB 我认为它相当大 我可以做什么来减小