.NET程序员也学Node.js——初识Node.js
清明在石门休了八天假,一眨眼,4月又到中旬了...看到.NET在天朝彻底沦陷而又无能为力,我开始尝试去学习一些新的东西来充实自己,我自然是打死不会去学java的,没有为什么,于是乎,最近开始学习一些前端的开发技术,就让学习笔记来记录一下我的学习历程并同大家一起分享吧!
申明:我只是业余学着好玩的,顺便扩展一下视野,各位广大.NET同行不要被我带沟里去了,当然如果你想从事移动前端或者全栈开发的话还是有必要学习一下的。
Node.js简介
Node.js 的推出,不仅从工程化的角度自动化掉更多琐碎费时的工作,更打破了前端后端的语言边界,让 JavaScript 流畅的运行在服务器端。
为什么要学习Node.js?
Node.js现在非常火而且很强,从2009年出现至今,已经风靡全球,微软的VS也已经将其集成进来了,我们知道微软总是喜欢将一些它觉得比较好的东西集成尽量。
什么是Node.js?
Node.js 是一个由C++编写的基于 Chrome V8 引擎的 JavaScript 运行环境。
速度非常快,性能非常好,Node对一些特殊用例进行了优化,提供了替代的API,使得V8在非浏览器环境下运行得更好。
Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。
Node.js 的包管理器 npm,是全球最大的开源库生态系统。
官方网站:https://nodejs.org
中文网站:http://nodejs.cn
目前最新版本:Node.js
v6.10.1
Node.js的版本号,偶数为稳定版,奇数为非稳定版
Node.js发展历史
- 2009年2月,Ryan Dahl在博客上宣布准备基于V8创建一个轻量级的Web服务器并提供一套库。
- 2009年5月,Ryan Dahl在GitHub上发布了最初版本的部分Node.js包,随后几个月里,有人开始使用Node.js开发应用。
- 2009年11月和2010年4月,两届JSConf大会都安排了Node.js的讲座。
- 2010年年底,Node.js获得云计算服务商Joyent资助,创始人Ryan
Dahl加入Joyent全职负责Node.js的发展。 - 2011年7月,Node.js在微软的支持下发布Windows版本。
- Visual Studio
2013+支持Node开发 - 提供了各种模版和智能提示,并且支持开发调试。

最新消息:Node.js之父Ryan Dahl退位, Isaac Schlueter接手Node.js。
Node.js特点
JavaScript与非阻塞Socket结合,
它与其他语言的一个明细区别就是处理I/O。它永远不允许用户锁上程序,它要求用户不断的处理新事务,因此它很适用于网络编程,在服务器上要与很多客户端通信,必须处理网络连接,而Node鼓励人们用非阻塞的模式,正是由于这个特性,你会发现Node在开发服务器上比传统编程语言更加方便。
Windows开发环境
由于VS2017中已经集成了Node.js,我这里就直接安装VS2017了,我们在安装VS2017的时候切忌全选,因为那样很费硬盘空间,安装很费时间,我安装VS一直都是选自定义安装。
VS2015(必须是Update 3 RTM或者更高版本),要么就用VS2013,然后后面就用NTVS 1.0 VS 2013.msi,这个Update 3 RTM更新包太大了,所以我直接选择安装VS2017了,速度还快些。
node-v6.10.1-x64.msi官方安装SDK
NTVS 1.2 VS 2015
Express框架:类似于ASP.NET MVC
Jade模版引擎:类似于Razor引擎,视图
Stylus样式框架:CSS于处理器,CSS框架
命令行开发
UI开发工具
1. 下载SDK:node-v6.10.1-x64.msi
进入官网:https://nodejs.org,下载SDK:node-v6.10.1-x64.msi,由于我的电脑是win10 64bit的系统,所以就下载node-v6.10.1-x64.msi

2.安装Git-1.9.4-preview20140815.exe,安装方法很简单,不断点击下一步就可以了,安装完成之后,打开Git Bash

输入$ node –v 查看node的版本号,输入$ npm –v 查看npm的版本,如果看到如下图所示,说明安装成功了。

在CMD中,我们也可以调用node,这表示我们已经在环境变量中配置好了。

3.安装Node.js Tools 1.2 for Visual Studio 2015
下载地址:Download Node.js Tools 1.2
http://www.cr173.com/soft/73135.html
安装VS2017,需要注意的是:大家在安装VS2017的时候不要选择全部安装,要选择自定义安装,这样可以节省大量的硬盘空间,而且安装速度也非常快,我们应该按需安装。

打开VS2017,新建项目


这视图引擎更名了,之前后缀名叫做jade的,现在变成pug了。
npm 是 node packaged modules 的简称,它的作用是基于 node.js 管理扩展包之间的依赖关系。
因为我是微软粉,所以就只介绍了windows上面安装node.js,大家可以自己尝试去linux和mac下面安装node.js
项目可以直接运行的,修改index.pug文件如下:

然后按F5运行,会自动打开一个node.exe程序和一个Web浏览器界面

.NET程序员也学Node.js——初识Node.js的更多相关文章
- 好程序员分享Web前端面试题汇总JS篇之跨域问题
为什么80%的码农都做不了架构师?>>> 好程序员分享Web前端面试题汇总JS篇之跨域问题,接着上一篇文章我们继续来探讨web前端面试必备面试题. 跨域解决方案 1. 通过jso ...
- 这个程序员有点牛,现场直接用JS写了个飞机游戏,半小时吸粉三千
程序员昨晚在b站直播的时用JavaScript代码写了一个飞机大战游戏,半小时不到粉丝关注就上千了. 今日就拿出来跟大家分享一下,对许多大佬来说做这个特效也不是很难,但是对于刚开始学习前端这方面还是有 ...
- [翻译]成为顶尖程序员应当学什么?Python、C还是Ruby?
原文地址(墙外):https://medium.com/life-tips/should-you-learn-python-c-or-ruby-to-be-a-top-coder-infographi ...
- C语言过时了?为什么还要推荐每一位程序员都来学一下C语言?
互联网蓬勃发展的时代,有一类人做出了巨大的贡献,这一群人被大家称之为程序员,怎样才能成为一名优秀的程序员呢,为什么每一个程序员都需要学习C语言呢? 就让我来跟大家分享分享: 在学习C/C++或者想 ...
- Java程序员必学知识点
JVM无论什么级别的Java从业者,JVM都是进阶时必须迈过的坎.不管是工作还是面试中,JVM都是必考题.如果不懂JVM的话,薪酬会非常吃亏(近70%的面试者挂在JVM上了) 详细介绍了JVM有关于线 ...
- 资深程序员:学Python我推荐你用这几款编辑器
Python使用什么编辑比较好,Python编辑器推荐 各位 Pythoner 好啊!在这个烦躁的时代,相聚就是缘分,很高兴各位 Pythoner 能相聚于此,希望接下来的路,我们一起走下去,使用 P ...
- C++ 虚函数简介!程序员必学知识,掌握编程从对象开始!
本文将简单探究一下 c++ 中的虚函数实现机制.主要基于 vs2013 生成的 32 位代码进行研究,相信其它编译器(比如, gcc )的实现大同小异. 先从对象大小开始 假设我们有如下代码,假设 i ...
- 新一代Java程序员必学的Docker容器化技术基础篇
Docker概述 **本人博客网站 **IT小神 www.itxiaoshen.com Docker文档官网 Docker是一个用于开发.发布和运行应用程序的开放平台.Docker使您能够将应用程序与 ...
- PHP高级程序员必学
业务增长,给你的网站带来用户和流量,那随之机器负载就上去了,要不要做监控?要不要做负载均衡?用户复杂了,要不要做多终端兼容?要不要做CDN?数据量大了,要不要做分布?垂直分还是横向分?系统瓶颈在哪里? ...
随机推荐
- 【openstack N版】——手把手教你制作生产环境镜像
一.CentOS7镜像制作 1.1创建CentOS7虚拟机 1.1.1创建虚拟磁盘 #注:尽量将虚拟机创建在控制节点,以便于将镜像上传至glance [root@linux-node1 ~]# qem ...
- 【JSON学习之道】js操作JSON
JSON (JavaScript Object Notation)一种简单的数据格式,比xml更轻巧. JSON 是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON ...
- How to build mscorlib.dll with visual studio
Recently, Microsoft Corportation has released a new look for .NET Reference Source. And you may find ...
- 南京.NET技术行业落地分享交流会圆满成功
3月11日,由南京.NET社区发起,纳龙科技赞助,并联合举办的,.NET技术线下交流活动,圆满成功. 这是南京.NET圈子第一次的小型聚会,为了办好此次活动,工作人员不敢怠慢.早早准备好了小奖品与水果 ...
- ST 单元测试之maven引入junit包
按照上篇博客,已经完成了mavne以及eclipse的安装配置,新建好了一个maven项目. 接下来打开项目,双击打开pom.xml,可以看到如下所示, 点击下方的pom.xml,然后添加如下代码,即 ...
- AndroidTest工程的自定义gradle task
由于需要将assets目录的资源拷贝到设备sdcard中,然而我的工程是一个android test工程,而android test工程在编译阶段,不会把assets目录的资源打包成对应apk,而为了 ...
- C++ Primer 5 CH1 开始
1.1 编写一个简单的C++程序 在大多数系统中,main 的返回值被用来指示状态.返回值 0 表示成功,非 0 的返回值的含义由系统定义,通常用来指出错误类型. 访问 main 的返回值的方法依赖于 ...
- [C++]现行的试卷封面并获取学生题目得分信息以及学号信息的原型系统
大二的时候写的一个CV小玩意,最终决定还是把它放出来,也许会帮助到很多人,代码写的很丑,大家多多包涵.附加实验报告主要部分. 课题背景及意义: 本项目主要目标是设计一套能自动分析我校现行的试卷封面并获 ...
- 简学Python第六章__class面向对象编程与异常处理
Python第六章__class面向对象编程与异常处理 欢迎加入Linux_Python学习群 群号:478616847 目录: 面向对象的程序设计 类和对象 封装 继承与派生 多态与多态性 特性p ...
- Eclipse中的快捷键快速生成常用代码(例如无参、带参构造,set、get方法),以及Java中重要的内存分析(栈、堆、方法区、常量池)
(一)Eclipse中的快捷键: ctrl+shift+f自动整理选择的java代码 alt+/ 生成无参构造器或者提升信息 alt+shift+s+o 生成带参构造 ctrl+shift+o快速导 ...