首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【计算机程序】Node.JS初探索

版权声明

科学成长论(yujia-xuexi)

好久没更新技术贴了,确实也是因为最近一段时间没把心思用在这上面,也没学习更多的东西。之前学习的时候有一段时间的停滞期,导致现在都快忘了当初都学了啥东西,再捡起来还要费很大的劲儿。

当然这也是人懒的一个标志,因为任务艰巨所以干脆选择放弃。以前我就是这样反反复复主动放弃了两次学会编程的机会,到现在又遇到同样的问题,可不能再主动清零自己花在编程上的时间了。

可JavaScript的难度就上了一个级别的了,不仅要熟悉其本身的语法规则,其中的各种函数调用以及程序模块的构建真是能把人真晕。而且跟着教程学习半天之后去做每章节后面的习题,会发现很多题连思路都没有更别提把程序编出来了。对于新手来说,有些简单的习题即使会做,也要经过多次编译才能得到正确的结果,因为编程是个精细活儿,可能某个标点的错误都会影响整个程序的执行。

当初上手JavaScript时候,只是学了些很浅的通用的编程知识,也没做更深入的习题,浅尝辄止。这两天再次复习JavaScript时,越来越觉得JavaScript是个比较难的编程语言,类型多函数多还得搭配着HTML和CSS使用,总之学得很吃力。

我在看书吃力的时候就喜欢跳着章节或者换本书看,之前在学JavaScript时有一阵特别烦躁,于是就把JavaScript甩到了一边去学HTML和CSS了,结果看得还挺快,学完之后又回过头学JavaScript时效果很好。

最近几天是复习JavaScript复习烦了,于是跳到最后的Node.js章节翻着看了起来。换个内容后自己也没太大压力,反而能看到很多全面的东西:

node.js与JavaScript异同

在学习JavaScript过程中,一直编译器中编译程序,程序作用在浏览器中改变页面的显示效果;而node.js则是作用在服务器上的,也就是通常所说的后端,可以针对不同的作用对象编写不同的程序,比如OS,WEB,DATABASE等等,用到的都是node中各个不同的模块。

不过令人惊喜的是,node.js和JavaScript都是基于ECMAScript脚本语言实现的,所以JavaScript的规则在node.js中都能用。这也是为什么JavaScript语言在最近几年在编程语言中的地位大幅增加的原因,前端后端都能用。

唯一不一样的可能就是Window全局变量,在JavaScript中Window变量是可以用来访问所有函数和变量的,因为作用范围就是所编译的窗口;而node.js中的每个文件都是一个独立的模块,想要用一个全局变量来访问各模块中的函数显然不太可能。

不过好像在JavaScript中也很少用到全局变量,出错的可能性太大。

node的模块可真多

为了node.js可以编写各种各样的服务器应用,其提供了各种各样的应用模块。node.js提供了各种API(Application Programming Interface,应用程序编程接口)供开发者使用,这些使用的规则在官网上都有介绍。

我上API的文档网站中翻着看了看,我天,每个API的目录下都有很多的应用文件。这也是node.js全面性的体现,虽然我没用过,也不清楚具体的使用规则,但是感觉这么多的应用足够能满足开发者们的各种需求了。

安装node.js后调用它很容易,在控制台侧输入node就可以了,然后运行用node运行一段有效的.JS文件,就可以得到该文件的结果。

node中用require命令应该是最多的,用来调用各种模块以及文件之间的调用都得用require语句实现,不过涉及到这么多的调用,在使用过程中应该会有很多的规则。

再拿个人博客当练手

自从有了GitHub和Hexo之后,程序员们在建立自己的博客网站时都喜欢用hexo建,因为确实是方便好用。计算机老手们用这套工具的话,可能不到一个小时就能搭建出来一个简易的个人博客。

不过真正要搭建一个商用的、流量较大网站时,还是得用前端和后端编写代码来实现。尤其是用node.js在服务器上编程,不仅要在服务器上部署好网站的框架,还要涉及到很多客户端、路径、路由等等通信知识。

稍微有点编程尝试的人就能想象到这个过程工作量很大,不过这个过程应该也会是一个非常好的练手机会,等再修炼一段时间后就用它来练手编程。

Node.js我还只是粗略地看了看,学了学,不过稍微看了一下就能感受到其功能的强大,以后还要耐心学其中涉及到的各种工具和知识。

Node.js的出现确实是前端“程序猿”们的春天,曾经的前端工程师一下变全栈工程师了,但这也对工程师们的要求更高了。

文中图片来自Bing

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180126G134NK00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券