开发过程中的对象冻结

bsr

请在这里查看代码

if (process.env.NODE_ENV !== 'production') {
    if ('function' === typeof Object.freeze) {
        Object.keys(self._routes).forEach(function freezeRoute(name) {
            var route = self._routes[name];
            Object.freeze(route.config);
            Object.freeze(route.keys);
            Object.freeze(route);
        });
        Object.freeze(self._routes);
    }
}

为什么在非生产模式下冻结。是否可以在开发过程中验证它是否未被修改,但是可以避免生产期间的任何运行时成本?

肖恩·维埃拉(Sean Vieira)

是的,这正是在提交中添加了此功能的原因

我们用于Object.freeze冻结路由器和路由非生产环境的对象,以确保这些对象的不变性。

对于生产环境,建议在构建过程中使用诸如envify和uglify之类的工具来去除[非]生产专用代码,以提高性能。

我们通常使用if (process.env.NODE_ENV !== 'production')环绕Object.freeze(),以便您可以使用各种工具为不同的环境构建代码:

他们这样做的原因是因为Object.freeze 当时速度很慢-在这一点上,对性能的影响Object.freeze 已经大大减轻了至少在V8中)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

开发过程中的npm peerDependencies

来自分类Dev

在程序包开发过程中查找未使用/“孤立”的未导出对象

来自分类Dev

在开发过程中在android中调用REST API

来自分类Dev

在开发过程中更新用户控制

来自分类Dev

用户控件在开发过程中的位置和更新

来自分类Dev

在开发过程中应如何使用identifierForVendor?

来自分类Dev

在开发过程中如何为iOS禁用Crashlytics?

来自分类Dev

软件包开发过程中的python路径

来自分类Dev

在开发过程中如何模拟串口?

来自分类Dev

在ESLint规则开发过程中如何调试

来自分类Dev

在开发过程中如何从xcode托管按需资源

来自分类Dev

开发过程中应用未安装错误

来自分类Dev

在开发过程中伪造身份验证

来自分类Dev

在开发过程中同步电子应用程序中的代码更改

来自分类Dev

在c中的程序开发过程中删除了注释的位置

来自分类Dev

在开发过程中如何知道javascript中某个方法的参数?

来自分类Dev

Angular 4 - 在开发过程中从 /src 文件夹中获取文件

来自分类Dev

开发过程中的初始安装标签用法和验证

来自分类Dev

开发过程中的npm http服务器和重写url

来自分类Dev

在开发过程中在特定的IP地址上运行sails.js

来自分类Dev

开发过程中的跨域AJAX调用:可能吗?

来自分类Dev

在开发过程中如何阻止Java应用程序发送电子邮件?

来自分类Dev

Spring Boot-如何在开发过程中禁用@Cacheable?

来自分类Dev

在开发过程中如何在Laravel中切换接口

来自分类Dev

在开发过程中如何正确测试Composer软件包?

来自分类Dev

在应用程序开发过程中轻敲android设备

来自分类Dev

字体真棒图标在开发过程中无法正确显示,安装了凉亭

来自分类Dev

在开发过程中如何将本地反应库与本地反应项目链接?

来自分类Dev

在Symfony Mailer开发过程中,如何还将BCC发送到特定地址?

Related 相关文章

  1. 1

    开发过程中的npm peerDependencies

  2. 2

    在程序包开发过程中查找未使用/“孤立”的未导出对象

  3. 3

    在开发过程中在android中调用REST API

  4. 4

    在开发过程中更新用户控制

  5. 5

    用户控件在开发过程中的位置和更新

  6. 6

    在开发过程中应如何使用identifierForVendor?

  7. 7

    在开发过程中如何为iOS禁用Crashlytics?

  8. 8

    软件包开发过程中的python路径

  9. 9

    在开发过程中如何模拟串口?

  10. 10

    在ESLint规则开发过程中如何调试

  11. 11

    在开发过程中如何从xcode托管按需资源

  12. 12

    开发过程中应用未安装错误

  13. 13

    在开发过程中伪造身份验证

  14. 14

    在开发过程中同步电子应用程序中的代码更改

  15. 15

    在c中的程序开发过程中删除了注释的位置

  16. 16

    在开发过程中如何知道javascript中某个方法的参数?

  17. 17

    Angular 4 - 在开发过程中从 /src 文件夹中获取文件

  18. 18

    开发过程中的初始安装标签用法和验证

  19. 19

    开发过程中的npm http服务器和重写url

  20. 20

    在开发过程中在特定的IP地址上运行sails.js

  21. 21

    开发过程中的跨域AJAX调用:可能吗?

  22. 22

    在开发过程中如何阻止Java应用程序发送电子邮件?

  23. 23

    Spring Boot-如何在开发过程中禁用@Cacheable?

  24. 24

    在开发过程中如何在Laravel中切换接口

  25. 25

    在开发过程中如何正确测试Composer软件包?

  26. 26

    在应用程序开发过程中轻敲android设备

  27. 27

    字体真棒图标在开发过程中无法正确显示,安装了凉亭

  28. 28

    在开发过程中如何将本地反应库与本地反应项目链接?

  29. 29

    在Symfony Mailer开发过程中,如何还将BCC发送到特定地址?

热门标签

归档