Javascript/Node.js初探

背景

MDN教程:前端必备网站,这里有最权威的资料和教程
FreeCodeCamp:Github Star数排名第一的仓库,交互式学习Web开发的网站。

一些概念:

  • JavaScript 是一种脚本,一门编程语言,它可以在网页上实现复杂的功能,网页展现给你的不再是简单的静态信息,而是实时的内容更新,交互式的地图,2D/3D 动画,滚动播放的视频等等。
  • jQuery 是一个 JavaScript 库。
  • TypeScript 由微软开发的自由和开源的编程语言,是 JavaScript 的一个超集。
  • Node.js 是一个开源和跨平台的 JavaScript 运行时环境。简单的说 Node.js 就是运行在服务端的 JavaScript。

官方Node.js简介:Node.js 是一个开源和跨平台的 JavaScript 运行时环境。
尚硅谷Node.js教学:尚硅谷配套教学视频
NodeSchool:本地命令行交互式教学
Node入门:一个最快的Node入门上手项目(边做边学)
关于如何入门Nodejs的回答:stackoverflow上的相关问题及回答,提供了很好的Node.js入门路线

Node.js

Node.js确实是使用Javascript作为编程语言,但是这和前端Javascript还是有很多不同。

  • 首先是Node.js是跨越到服务端的,这使得它利用Javascript干一些和Python、PHP相同的事。Node.js需要开发者有一定的网络、数据库以及文件系统等知识基础,或者说是需要后端思维,这样才能有效开发出服务端应用程序。
  • 其次,就是由此导致的生态差异。在浏览器中,大多数时候做的是与 DOM 或其他 Web 平台 API(例如 Cookies)进行交互。那些在 Node.js 中是不存在的。没有浏览器提供的 documentwindow以及所有其他的对象。在浏览器中,不存在 Node.js 通过其模块提供的所有不错的 API,例如文件系统访问功能。
  • 在 Node.js 中,可以控制运行环境。 除非构建的是任何人都可以在任何地方部署的开源应用程序,否则你能知道会在哪个版本的 Node.js 上运行该应用程序。 与浏览器环境(你无法选择访客会使用的浏览器)相比起来,这非常方便。但是这也导致Node.js版本对于构建应用程序非常关键,下面配置环境的时候会详细说明,先声明Node.js版本过低或过高都会导致程序或者工具无法正常运行。

Node.js安装

强烈推荐使用Node.js版本控制器,有效避免各种版本不兼容问题!!!

为什么这么说?因为Node.js是一个非常典型的版本新却不一定更好的环境,高版本Node.js经常不兼容一些低版本的工具(如gulp 2.x),而且是直接报错而不是报个警告而已。使用版本控制器,可以自由切换Node.js版本,方便开发。常用的Node.js版本控制器有:

在Windows上使用nvs

  • 去Github上下载最新的Windows安装包
  • 添加最新版nvs add latest或者稳定版nvs add lts
  • 在当前Shell中使用nvs use [version]或者永久生效nvs link [version]

Hello World

创建hello.js,输入以下内容:

console.log("Hello World");

命令行下运行:

Hello World

包管理器

Node.js自带包管理器npm,它起初是作为下载和管理 Node.js 包依赖的方式,但其现在也已成为前端 JavaScript 中使用的工具。

yarn是替代品,速度更快,使用也更安全。同理,pnpm也是如此,pnpm官网有性能对比

VS Code开发指南

在了解基本Node.js的基本情况后,我们就需要了解如何更好地编写Node.js。VS Code是非常合适的编辑器,首先需要强大的扩展加持,辅助我们开发,必备的有:

  • Beautify
  • ESLint
  • Prettier

Debug

VS Code的调试帮助文档有一些复杂,在USER GUIDELANGUAGESNODE.JS/JAVASCRIPT里均有提到,但是并不相同,这里给一些阅读指引:

  1. 首先去LANGUAGES下,可以看到只有几句话,意思就是根据个人的需要再跳转到对应的详细文档。
    JS Debug概览
  2. 不熟悉VS Code的可以先去看看USER GUIDE下的Debugging topic
    VS Code Debug入门
  3. 然后再去详细阅读NODE.JS/JAVASCRIPT下的Node.js调试手册
    Node.js调试手册

尝试你的第一次Debug

这里介绍一种最简单的调试方法,也就是官方所说的Auto Attach,顾名思义,当你在终端运行对应的脚步文件时,就会VS Code调试器自动附加到程序上了。

  • F1打开命令面板,输入auto attach就会自动联想到对应命令,触发模式选择smart即可。
  • 在VS Code内置终端运行程序,即可开始调试,如下图所示(来自官网):
auto-attach(来自VS Code官网)

总结

以上就是有关Javascript/Node.js的初步介绍,由于篇幅有限,这里没有提到具体的语言细节。这篇博客主要目的是让大家能快速上手配置,避免实践中经常会遇到的一些坑,然后给出对应的学习文档供大家参考。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,482评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,377评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,762评论 0 342
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,273评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,289评论 5 373
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,046评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,351评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,988评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,476评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,948评论 2 324
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,064评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,712评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,261评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,264评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,486评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,511评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,802评论 2 345

推荐阅读更多精彩内容