使用NPM中的第三方库进行应用膨胀使用Javascript

时间:2017-06-10 16:06:05

标签: javascript node.js reactjs npm

我和朋友一起做项目。

他是迄今为止比我更好的程序员,因为我已经编程了一年多一点。

我注意到他经常从头开始构建组件和功能。我认为他几乎是一个"时髦"从头开始构建功能。

我的使用npm库等的方法有什么缺点吗? IE浏览器。日期选择器,地图组件等?

我可能会想到的一个原因可能是性能受到了打击。加载时间会受到显着影响吗?我没有构建大型应用程序,事实上我认为它很小,但是!我想知道我是否会欺骗",或者这会导致臃肿。

作为快速预览,我的基本功能目前包括:

  • Emoji Picker
  • 日期选择器
  • Google Maps API地图组件&地方
  • 表格验证库
  • 的SuperAgent
  • Moment.js

谢谢!

2 个答案:

答案 0 :(得分:1)

首先,你不是在作弊 开发人员使用第三方软件包很常见 但是,学习构建自己的组件可能是一种很好的体验 不要忘记,随着你的经验,知识的增长,你总能把它们换掉

赞成。
它们可以节省您的开发时间 他们可以做你可能觉得难以实施的事情 它们可以更好地编写和测试。

缺点。
它们写得不好,不可靠,不受支持。
如果您不知道它们是如何工作的,如果有错误或者您需要扩展功能,则可能会出现问题。
你最终可能会包含大量未使用的脚本 你或许可以写出更好,更易于维护的内容。

使用汇总等工具捆绑,缩小,丑化您的JavaScript和树震动可以帮助您缩小下载大小。

如果您使用套餐,请使用可靠套餐,查看评论和评分,查看活动并发布日志。

与所有与性能相关的问题 - 测试 使用fiddler或chrome查看下载量有多大,测量下载时间 在可能的情况下,在现实设备/网络/负载条件下进行测试。

答案 1 :(得分:0)

对你来说,这是一个很好的考验,因为你是新人,试图自己写出所有这些东西。它是如何学习stackoverflow的大部分用户的:了解一个听起来可行的项目,但当时有一个未知的部分。这就是我个人如何了解我所知道的一切。

话虽如此,我并不认为这是在作弊。英语中有一个常见的短语:"不要重新发明轮子。"这些库存在的原因是因为有人花了很多时间来制作它们,然后意识到其他人也可能从中受益。以Moment为例,使用任何语言处理日期/时间都是一个巨大的痛苦,Moment之所以如此受欢迎的原因是因为没有人想要了解Moment的创作者已经经历过的所有事情。为什么浪费时间重新发明一个完美的,经过良好测试和可靠的车轮?

现在,如果你去了男人,这个轮子很不错,但如果它们是用更耐用的东西制成的,那么它们可以更好地进行更多颠簸会不会更好?"然后在这种情况下,你正在改进方向盘 - 同样有很多项目从现有的项目开始作为一个分支,试图添加作者认为缺少功能的内容。

希望这能为你解决这个问题。