清明在石门休了八天假,一眨眼,4月又到中旬了...看到.NET在天朝彻底沦陷而又无能为力,我开始尝试去学习一些新的东西来充实自己,尽管我一大波搞java的大学同学天天给我吹风说:来吧,java欢迎你。可我自然是打死都不会去学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,新建项目
这视图引擎更名了,之前后缀名叫做jade的,现在变成pug了。
npm 是 node packaged modules 的简称,它的作用是基于 node.js 管理扩展包之间的依赖关系。
因为我是微软粉,所以就只介绍了windows上面安装node.js,大家可以自己尝试去linux和mac下面安装node.js
项目可以直接运行的,修改index.pug文件如下:
然后按F5运行,会自动打开一个node.exe程序和一个Web浏览器界面
我们在使用npm install 安装模块或插件的时候,有两种命令把他们写入到 package.json 文件里面去,比如:
--save-dev
--save
在 package.json 文件里面提现出来的区别就是,使用 --save-dev 安装的插件,被写入到 devDependencies 对象里面去,而使用 --save 安装的插件,则被写入到 dependencies 对象里面去。
那 package.json 文件里面的 devDependencies 和 dependencies 对象有什么区别呢?
devDependencies 里面的插件只用于开发环境,不用于生产环境,而 dependencies 是需要发布到生产环境的。
npm的镜像替换成淘宝
1.得到原本的镜像地址
npm get registry
> https://registry.npmjs.org/
设成淘宝的
npm config set registry http://registry.npm.taobao.org/
2.换成原来的
npm config set registry https://registry.npmjs.org/