0

0

为何JavaScript开发如此疯狂的详细代码

黄舟

黄舟

发布时间:2017-03-08 14:47:01

|

1428人浏览过

|

来源于php中文网

原创

Web开发太有意思了! 但是JavaScript则……令人望而生畏。

web开发中其他一切对你而言都是小菜一碟,但当你深入探究javascript的时候,不免有一种“众人皆醒你独醉”的悲壮——好像其他人都知道你不知道的一些大的基础的知识内容,并且这些内容可以帮助你理解所有知识。

事实是,的确如此,你遗漏了一些解决问题的重要片段。

并且,前端开发实际上已经陷入了疯狂。

不仅仅是你。

拉过一把椅子,坐下来。到时间写JavaScript应用了。

第一步是准备本地开发环境并运行。那么使用Gulp还是Grunt,等等,不……还有NPM脚本!

立即学习Java免费学习笔记(深入)”;

使用WebPACK还是Browserify?Require.js?提升到ES6?或者过多地添加Babel到你的预处理?

BDD还是常规单元测试?应该使用什么断言框架?当然从命令行运行测试会很好,所以也许PhantomJS也行?

Angular还是React?Ember?Backbone?

你看了一些React文档,“Redux是JavaScript app可预测的状态容器。”真棒!你一定需要那些中的其中之一。

为什么构建JavaScript应用会如此疯狂?!?

让我来帮助你理解为什么我要说这一切是如此疯狂。让我们从一个例子开始,然后转移到漂亮的图片。

这是React的“Hello, world!”应用。

// main.js
var React = require('react');
var ReactDOM = require('react-dom');

ReactDOM.render(
  

Hello, world!

, document.getElementById('example') );

没有完全完成。

$ npm install --save react react-dom babelify babel-preset-react
$ browserify -t [ babelify --presets [ react ] ] main.js -o bundle.js

实际上这里有几个步骤缺失了,例如安装browserify,以及在你做好之后实际上需要做什么才能让它运行在网页上,因为这其实不会产生一个能有什么内容的网页。 ¯\ _(ツ)_ /¯

在完成这些之后,你最后还需要一个名为bundle.js的文件,这个文件包含新的React Hello World应用程序——程序有19,374行代码。而你只需要安装browserify,babelify和react-dom,考量未知的成千上万行代码即可。

所以基本上这是…

Marc几乎已经准备好实施他的“Hello World”React app pic.twitter.com/ptdg4yteF1——Thomas Fuchs(@thomasfuchs)2016年3月12日

下面就让我们用朴实无华的JavaScript代码写一个Hello World app。

AdsGo AI
AdsGo AI

全自动 AI 广告专家,助您在数分钟内完成广告搭建、优化及扩量

下载


  
    
    
    Hello World
  

  
    

这就成了。 18行代码。你可以复制/粘贴到index.html文件中,双击并把它加载到你的浏览器中。完成。

如果此时你觉得,“等等,React能做的事情比你刚刚写的这个小玩意更多,并且你不可能用那种方法写一个JavaScript app!”你是(大多数时候)对的,但你还需要走一小步才能理解为什么一切都疯了。

下面是我承诺过的图片。

绝大多数你将工作的JavaScript web应用程序,会落在钟形曲线中部的某个位置。并且在中部,如果你从一个完整的React堆栈开始,那么从一开始你就大量过度设计了你的应用程序。

这就是为什么一切都变得疯狂。其中的大多数工具你觉得是你解决问题所必须具备的,但是你一直没有碰到这样的问题,而且以后你也不会碰到。

同一张图片:

因为在默认情况下,每个人都过度设计他们的app,却意识到这一点,使得Javascript的开发状态变得过于繁冗。

你应该如何启动JavaScript应用程序呢?是否应该使用一些类似React或Angular的工具?是否应该使用软件包管理器?如果你不这样做,你应该做什么?测试有必要吗?是否应该用Javascript生成标记?所有这些都是你应该在启动默认情况下的庞大的技术堆栈前,好好问问自己的问题。

当你启动一个JavaScript应用程序时,关键是要在钟形曲线上挑一个点,这个点刚好位于你认为这个app最终可能会到达的复杂程度的前面。

我不会撒谎,验证这一切需要经验。但是这里有一个相当大的甜蜜点可以让你启动大多数的JavaScript应用程序:jQuery加上客户端模板,以及用于连接和缩减产品文件超级简单的构建工具(假如你的后端架构还没有这样做的话)。

如果你知道如何正确地构建Javascript app,那么你就会开始懂得如何、何时以及为什么使用框架或npm/requir/webPack或ES6,什么时候编写测试,什么时候应该费心让你的测试本地运行vs.运行在浏览器中,等等,所有这些问题都会涌现出来。

有兴趣用你的JavaScript开发知识填补那些空白?想要避免不堪重负的感觉以及避免在这个过程中大量过度设计你的JavaScript应用程序?那是我之后将要专注讨论的内容,敬请期待!

相关文章

java速学教程(入门到精通)
java速学教程(入门到精通)

java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
c++ 根号
c++ 根号

本专题整合了c++根号相关教程,阅读专题下面的文章了解更多详细内容。

22

2026.01.23

c++空格相关教程合集
c++空格相关教程合集

本专题整合了c++空格相关教程,阅读专题下面的文章了解更多详细内容。

24

2026.01.23

yy漫画官方登录入口地址合集
yy漫画官方登录入口地址合集

本专题整合了yy漫画入口相关合集,阅读专题下面的文章了解更多详细内容。

99

2026.01.23

漫蛙最新入口地址汇总2026
漫蛙最新入口地址汇总2026

本专题整合了漫蛙最新入口地址大全,阅读专题下面的文章了解更多详细内容。

132

2026.01.23

C++ 高级模板编程与元编程
C++ 高级模板编程与元编程

本专题深入讲解 C++ 中的高级模板编程与元编程技术,涵盖模板特化、SFINAE、模板递归、类型萃取、编译时常量与计算、C++17 的折叠表达式与变长模板参数等。通过多个实际示例,帮助开发者掌握 如何利用 C++ 模板机制编写高效、可扩展的通用代码,并提升代码的灵活性与性能。

15

2026.01.23

php远程文件教程合集
php远程文件教程合集

本专题整合了php远程文件相关教程,阅读专题下面的文章了解更多详细内容。

65

2026.01.22

PHP后端开发相关内容汇总
PHP后端开发相关内容汇总

本专题整合了PHP后端开发相关内容,阅读专题下面的文章了解更多详细内容。

61

2026.01.22

php会话教程合集
php会话教程合集

本专题整合了php会话教程相关合集,阅读专题下面的文章了解更多详细内容。

63

2026.01.22

宝塔PHP8.4相关教程汇总
宝塔PHP8.4相关教程汇总

本专题整合了宝塔PHP8.4相关教程,阅读专题下面的文章了解更多详细内容。

33

2026.01.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
React 教程
React 教程

共58课时 | 4.1万人学习

TypeScript 教程
TypeScript 教程

共19课时 | 2.4万人学习

Bootstrap 5教程
Bootstrap 5教程

共46课时 | 3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号