Node.js 切近实战(一) 之环境搭建

哥们先来吐槽一下,最近面试别人的一些经历。有的小伙干了五年,这五年干的是同样的活,三层架构,ASP.NET MVC,Jquery。看简历还能用,结果面试中才知道这五年自己没写过泛型类,泛型方法,委托自定义事件也都没用过,还说抽象类中必须都是抽象方法才可以。还有一小伙,干了十年,泛型委托一概不清楚。最近有个干了9年的,也呆过几家外企,感觉还挺牛,来了之后果然牛,敲着个二郎腿,声音比我还大,搞得好像他在面试我。9年了,只会最常用的一些东西,asp.net mvc,asp.net webforms,WCF没用过,Silverlight没用过,大数据没研究过,多线程不会,Node.js平台完全没听过。好吧,java,python你也没了解过。那你扎什么二郎腿,你数据库精通,好吧,我问你在修改数据前,先要把修改前的数据插入log表,再修改,用一句Sql写成,你说不会。我说那你在sql中处理大批量数据,比如批量修改50条数据,业务check点多,你不可能循环50次调用api去做,效率太差。那么我希望在SP中传入一个集合,在sp中循环处理,你又说没这个经历。我为sql语句中UNION和UNION ALL的区别,你又不知道。好吧,不想和你聊天了。最后这哥们说自己在CSDN是博客专家,我想知道博客专家和专家博客是一回事么。看了你的博客,我觉得我该写博客了,不然大家会被你的博客专家忽悠的。

Node.js 切近实战(一) 之环境搭建_第1张图片

最近突然想去青海湖了,那里夏季风景太美,骑行青海湖一直是我的梦想,不做梦了,进入正题。


我们在node.js平台进行开发,首先要选好开发工具,微软的VisualStudio,VS Code,还有web Storm,当然,身为一名.net开发人员,我还是喜欢我们的VisualStudio2012。为什么,我们往下看。


打开VS2012,在工具=》扩展和更新中搜索Node.js tools,找到之后安装

Node.js 切近实战(一) 之环境搭建_第2张图片

安装好之后,我们在新建项目的时候,就可以新建JavaScript项目,如下

看到了吧,我们选择Basic Node.js Expess 4 Application,ok,项目新建好了,如下。

Node.js 切近实战(一) 之环境搭建_第3张图片

  1. npm下面是我们引用的nodejs扩展包,类似于C#的dll引用Reference。

  2. WWW是我们的启动入口文件。

  3. node_Modules是我们的nodejs扩展包文件夹。

  4. public下面是我们的客户端相关文件,包括js包,css,图片资源等。

  5. route文件夹下的js文件是server端用来处理客户端请求的,比如处理提交的form表单,页面跳转,也可以提供rest API供客户端调用。

  6. Views文件夹下是视图文件,在这里我们选择jade视图引擎,当然还有ejs等一些视图引擎,看个人爱好。

OK,今天我们不准备讲任何代码,将程序跑起来再说,走起,VS最好的特点,就是直接debug运行。不用敲node命令。注意在开发前,必须先安装好nodejs。

Node.js 切近实战(一) 之环境搭建_第4张图片

这样的话,VS就会自己找到nodejs安装目录,当你debug的时候,vs自己执行node命令。

Node.js 切近实战(一) 之环境搭建_第5张图片

走起,首先会弹出一个dos窗口,如果没有错误,则会打开浏览器访问页面。

OK,界面出来了,Welcome to Express。

大家一直看到的启蒙代码都是hello world,程序员告老还乡,挥笔泼墨的那个故事大家还记得吧。好,我也hello world一把。

这个其实我们只需要将index.js中的代码修改如下

var express = require('express');
var router = express.Router();

/* GET home page. */
router.get('/', function (req, res) {
    res.render('index', { title: 'World' });
});

module.exports = router;

然后界面代码修改如下

extends layout

block content
  h1= title
  p Hello #{title}

OK,就这么简单,希望看到这篇博客的同学,能够持续关注,如果你还没使用过node.js,后续可能会使用到node.js请求rest api,rest api可以是微软web api,也可以是node rest api,还有node请求hbase,solr,cassandra,activeMQ,redis等等。顺便透漏一下,准备用一个图书管理的小demo先引大家入室,前端使用的技术有angularjs,jquery,bootstrap等,后端可能有mongodb,mongoose等。

你可能感兴趣的:(node.js,环境搭建)