node.js零基础详细教程(1):安装+基础概念

第一章 建议学习时间2小时  课程共10章javascript

学习方式:详细阅读,并手动实现相关代码java

学习目标:此教程将教会你们 安装Node、搭建服务器、express、mysql、mongodb、编写后台业务逻辑、编写接口,最后完成一个完整的项目后台,预计共10天课程。node

每日更新,建议跟学,按照本教程学习必定能够学好Nodejs,中途发现教程有误的地方,请及时留言反馈mysql

 

node.js安装sql


 

百度云盘有本教程须要的软件  连接:http://pan.baidu.com/s/1kVPxBJT 密码:uziumongodb

 

经过官网下载express

node.js 中文网下载地址 http://nodejs.cn/download/windows

windows系统咱们通常选择mis版本,根据本身的电脑系统和位数选择服务器

mac选择.pkg版本网络

具体的版本号,必定要安装偶数版本的,由于基数版为开发版本,偶数版为稳定版本

 

 

下载完成后的安装包直接双击运行,连续下一步便可,建议选择安装到默认目录,安装到其余目录可能须要从新配置环境变量(比较麻烦)

安装过程当中以下下图会有个赞成的选项 ,勾上才能够下一步

 

安装完成 -- 点击完成以后,不会有任何界面提示,也没有桌面图标

验证是否安装完成的方法:

点击电脑开始菜单,搜索cmd,点击打开cmd命令行,以下图:

 

而后输入  node -v   点击enter键,出现以下图的版本提高,就表安装完成了

 

 

node介绍


Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。Node.js是一个基于Chrome JavaScript运行时创建的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node.js 使用事件驱动, 非阻塞I/O 模型而得以轻量和高效,很是适合在分布式设备上运行数据密集型的实时应用。

其实node.js就是一个能够在服务器端运行 javascript的环境而已  --  运行环境

如今已经有不少公司在使用node做为服务器语言了,国外的:linkedin/paypal/twitter  国内的: 知乎的主站推送、网易(部分后台)、阿里(部分后台)

另外对于中小型项目的后台快速开发很是适合。

 

阻塞和非阻塞的解释:这里就得要涉及到 同步和异步 的概念,

同步:咱们js代码是从上往下执行的,上一条代码没执行完成,不执行下一条代码就是同步。

异步:在上面代码执行的时候,下面代码也能够同时执行。

那么阻塞就是同步的状态表示,而非阻塞就是异步的状态表示。

 

开始程序


 

helloWord示例:

命令行输入node  按enter键肯定  就能够看到下面面的提示 " >_ "  表示已经进入node的运行状态了,就能够输入js代码了(和之前网页中写js基本一致)

这里咱们输入console.log( "helloWorld" )  肯定 便可看到打印的helloWorld

可是途中第二条横线出现的undefined是什么?这里在node中,每一行代码执行完,都会显示一下返回值,这里没有返回值,因此有个undefined

另外你们试试下面代码,定义 a=4,b=5,输出相加后的结果

 

 

若是要结束Node的运行状态,连续按两次 ctrl+c  就能够退出,执行状态以下图。

 

 

运行js文件:

建议建立一个用于放js的文件夹,取名nodeTest

而后在里面建立一个js文件, 取名 main.js,(注意文件的编码格式最好是utf-8,否则输出中文会乱码。)

 

 

编辑 main.js。在里面写入以下图代码,输出文件夹名字和文件名, __dirname 和 __filename 为node内部变量,表示文件夹和文件名。(注意:是连着两个下划线)

console.log("helloWorld"); //输出一行文字
console.log(__dirname); //输出文件夹名字
console.log(__filename); //输出文件名

 

写好的js文件如何使用node 运行呢?

 

前面咱们的命令行是从开始菜单打开的,node的执行是在用户管理员 文件夹下,看下图

若是咱们要在某个自定义的文件夹执行node,那么咱们能够在 本身的文件夹 按住shift并点击右键,菜单中点击“在此处打开命令行”,便可定位到该目录

 

 

此时打开的命令行就定位到当前文件夹了。

 此时直接输入  node 须要执行的文件名    肯定 就执行了,能够看到打印的三行数据  helloWorld以及文件夹名和文件名

 

补充:目录切换命令

cd ..  回上一级目录 

这样就定位到了 nodeTest的上一级 ,此时是D盘根目录

若是要进入子目录, 使用  cd 文件夹名

这样就从新 进入了nodeTest ,若是再有子目录,继续 cd 子目录名就能进入了

 

盘之间的切换   输入 盘符:

这样就进入了 E盘  ,再输入 D:  又能够回到 D盘

 

 

 

异步的实现


 

实现异步有两种方式: 一、回调函数   二、定时器

回调函数:监听到某个事件活动后,再执行别的代码,这种状况不影响后续代码执行,属于异步,具体的例子之后再说。

定时器:setTimeout 和 setInterval

全部的异步操纵,在js内部会优先执行同步代码,对于异步的代码会放到最后执行

试试下面的例子:在上一步的文件夹中建立main2.js  写入下面代码, 而后运行, 咱们会看到,for循环执行完成之后才打印出setTimeout内部的100000000,就算out时间设置成0秒。

setTimeout(function(){
    console.log(1000000000);
},0);

for(var i=0; i<1000; i++){
    console.log(i);
}

 

 

好,今天就讲这么多,明天将讲解:模块化、fs文件操做模块、http建立服务模块。

 

关注公众号,博客更新便可收到推送

相关文章
相关标签/搜索