.NET程序员也学Node.js——初识Node.js

时间:2021-09-05 21:25:56

清明在石门休了八天假,一眨眼,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开发
  • 提供了各种模版和智能提示,并且支持开发调试。

.NET程序员也学Node.js——初识Node.js

最新消息: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

.NET程序员也学Node.js——初识Node.js

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

.NET程序员也学Node.js——初识Node.js

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

.NET程序员也学Node.js——初识Node.js

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

.NET程序员也学Node.js——初识Node.js

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的时候不要选择全部安装,要选择自定义安装,这样可以节省大量的硬盘空间,而且安装速度也非常快,我们应该按需安装。

.NET程序员也学Node.js——初识Node.js

打开VS2017,新建项目

.NET程序员也学Node.js——初识Node.js

.NET程序员也学Node.js——初识Node.js

这视图引擎更名了,之前后缀名叫做jade的,现在变成pug了。

npm 是 node packaged modules 的简称,它的作用是基于 node.js 管理扩展包之间的依赖关系。

因为我是微软粉,所以就只介绍了windows上面安装node.js,大家可以自己尝试去linux和mac下面安装node.js

项目可以直接运行的,修改index.pug文件如下:

.NET程序员也学Node.js——初识Node.js

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

.NET程序员也学Node.js——初识Node.js

.NET程序员也学Node.js——初识Node.js的更多相关文章

  1. 好程序员分享Web前端面试题汇总JS篇之跨域问题

    为什么80%的码农都做不了架构师?>>>   好程序员分享Web前端面试题汇总JS篇之跨域问题,接着上一篇文章我们继续来探讨web前端面试必备面试题. 跨域解决方案 1. 通过jso ...

  2. 这个程序员有点牛,现场直接用JS写了个飞机游戏,半小时吸粉三千

    程序员昨晚在b站直播的时用JavaScript代码写了一个飞机大战游戏,半小时不到粉丝关注就上千了. 今日就拿出来跟大家分享一下,对许多大佬来说做这个特效也不是很难,但是对于刚开始学习前端这方面还是有 ...

  3. [翻译]成为顶尖程序员应当学什么?Python、C还是Ruby?

    原文地址(墙外):https://medium.com/life-tips/should-you-learn-python-c-or-ruby-to-be-a-top-coder-infographi ...

  4. C语言过时了?为什么还要推荐每一位程序员都来学一下C语言?

    互联网蓬勃发展的时代,有一类人做出了巨大的贡献,这一群人被大家称之为程序员,怎样才能成为一名优秀的程序员呢,为什么每一个程序员都需要学习C语言呢? 就让我来跟大家分享分享:   在学习C/C++或者想 ...

  5. Java程序员必学知识点

    JVM无论什么级别的Java从业者,JVM都是进阶时必须迈过的坎.不管是工作还是面试中,JVM都是必考题.如果不懂JVM的话,薪酬会非常吃亏(近70%的面试者挂在JVM上了) 详细介绍了JVM有关于线 ...

  6. 资深程序员:学Python我推荐你用这几款编辑器

    Python使用什么编辑比较好,Python编辑器推荐 各位 Pythoner 好啊!在这个烦躁的时代,相聚就是缘分,很高兴各位 Pythoner 能相聚于此,希望接下来的路,我们一起走下去,使用 P ...

  7. C++ 虚函数简介!程序员必学知识,掌握编程从对象开始!

    本文将简单探究一下 c++ 中的虚函数实现机制.主要基于 vs2013 生成的 32 位代码进行研究,相信其它编译器(比如, gcc )的实现大同小异. 先从对象大小开始 假设我们有如下代码,假设 i ...

  8. 新一代Java程序员必学的Docker容器化技术基础篇

    Docker概述 **本人博客网站 **IT小神 www.itxiaoshen.com Docker文档官网 Docker是一个用于开发.发布和运行应用程序的开放平台.Docker使您能够将应用程序与 ...

  9. PHP高级程序员必学

    业务增长,给你的网站带来用户和流量,那随之机器负载就上去了,要不要做监控?要不要做负载均衡?用户复杂了,要不要做多终端兼容?要不要做CDN?数据量大了,要不要做分布?垂直分还是横向分?系统瓶颈在哪里? ...

随机推荐

  1. 分享php工作中遇到的一些探究和技巧【1】

    一 foreach的引用 $arr = range(,); //[1,2,3] foreach($arr as &$val) { } foreach($arr as $val) { } pri ...

  2. httpModules与httpHandlers之httpModules(转载)

    WapModule.cs:public class WapModule:IHttpModule{ public void Init(HttpApplication context)        {  ...

  3. office 2016 专业增强版 和 visio 2016 专业版 下载安装(附带激活工

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://babyshen.blog.51cto.com/8405584/1697910 o ...

  4. [POJ2484]A Funny Game

    Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 4533   Accepted: 2780 Description Alice ...

  5. Swift 一些环境配置

    #if DEBUG 使用 如下图配置即可使用

  6. C#.Net网页加载等待效果漂亮并且简单

    最近网页加载数据比较多,点击后给用户就是白板很不友好,想了很久找了些资料,在网页加载中显示等待画面给客户,页面加载完成自动隐藏等待效果. 在网页后台cs代码:    protected void Pa ...

  7. 测试使用wiz来发布blog

    晚上尝试了下用wiz写随笔并发布,貌似成功了,虽然操作体验和方便性上不如word,但起码它集成了这个简单的功能可以让我用:如果能让我自动新建blog文章并自动定时更新发布就完美了.2013年7月5日1 ...

  8. HTML embed标签使用方法和属性详解

    一.基本语法   代码如下:   embed src=url   说明:embed可以用来插入各种多媒体,格式可以是 Midi.Wav.AIFF.AU.MP3等等,Netscape及新版的IE 都支持 ...

  9. 获取当前PHP运行环境是否cli模式

    需要用到系统函数php_sapi_name() 或者 系统常量 PHP_SAPI,返回 cli 或 cli_server /* 判断当前的运行环境是否是cli模式 */ function is_cli ...

  10. 使用cloudreve搭建个人网盘

    这次将腾迅的对象存储cos挂载到了服务器上,就想自己搭建个网盘,虽然每月50G的空间和10G流量,也够用了 之前写过使用owncloud来搭建个人网盘,使用起来挺方便,就是不知道为什么感觉打开速度慢, ...