Node.js

     今天来讲讲我学习Node.js的经验,如果哪里有问题,还请各位大佬海涵,此篇文章内容仅仅代表我个人观点。

     首先,来讲讲,学习Node.js的前提就是要有JavaScript的基础,懂得相关JS的语法精髓,当然,这仅仅是代表了你学习了三分之一的Node知识。剩下的三分之二分别就是Node.js自身的语法知识以及相关的net,io,field,之类的接口模板。

     Node.js安装配置,首先在官网下载Nodejs的安装包,对应到自己系统下的合适的安装包,再之后就是选择安装模式,一般我们选择在线安装(onlineDocumentTation......),安装完毕之后,我们就可以在命令台之中运行 npm -v来选择查看当前安装Nodejs的版本信息。

     初识Node.js_NPM,不得不说NPM真的是个好东西,它里面放置了好多实用高效的模板,当然也可以自己发布模板去使用。一般来讲,国外的npm通常下载速度慢,这也被好多国内人士所诟病已久,不过,马云做的好,淘宝官方做了一个npm国内镜像,所以,使用国内镜像下载速度相对较快。在安装了国内镜像的前提下再安装模板的时候,通常使用 cnpm   install....来安装相应的模板。



     下面呢,咱们再介绍node.js相关项目的完后之前先来学习一下webstorm的相关东西,并且详细为大家介绍其中的大坑。

      同样的,我们需要在官网下载webstorm安装包,安装完毕之后,通常官方会给我们几天的使用期限,这个期限通常有31天。但是,国内自然有大神制作出了类似IDEA的在线PHP网页服务破解器,具体的方法如下:

      注册时,在打开的License Activation窗口中选择“License server”,在输入框输入下面的网址:http://idea.wrbugtest.tk/

     下面来说一下webstorm里面的快捷键设置,通常正常安装完成的小伙伴会发现,里面的快捷键并不能够正常使用,小编遇到的问题就是复制,粘贴,剪切使用不够灵活,这就是webstorm常见的大坑之一,因为webstorm自动开启了VIM代码编辑器,所以,与我们常规的使用方法有冲突,这时候,我们只需要打开webstorm中的tools顶部导航工具条,点击关闭VIM即可。这次再来尝试一番,看看,是不是正常了呢。

      再接着就是编辑器的问题,通常我们选择IDEA无非就是用来提高编码效率,所谓无提示不编码,今天我主要给大家说的就是webstorm里面常用的设置,我们首先打开setting,进入点选language,进入libariies,点选所有可能用到的代码提示种类,再然后就是介绍一下关于node代码提示的功能,介绍如下:     

      首先需要下载core code,File->Setting->输入Node.js(选中点进去)->第二行有个enable(旁白是说源码是否下载应用)->确定

然后File->Setting->Language&Frameworks->JavaScript->Libraries->勾选Nodejs Core->确定

      到这里,所有基础的配置就算是讲完了,下面我们再来介绍一下node项目。


     小编是在学习完了Node常用语法以及fs文件系统还有相关modules.exports,exports知识,了解完成http相关(包括get/post)之类的基础知识才接触的express,express是nodejs的常用框架,他具有自动生成项目目录的功能,通常配备express+jade或者express+ejs,当然,对于后缀名而言,我们是在接触前端相关的东西之后才来学习Node的,对于ejs或者jade这种html渲染模板的后缀名,自然是很不舒服,下面介绍如何改变:

      在app.js中修改两行代码即可,这里介绍ejs的修改,jade类似。

           //此处,看ejs后缀名不舒服,转成.html

         app.engine(".html",ejs.__express);

         app.set('view engine', 'html');

      现在,所有的工作都准备就绪了,我们就开始HelloWorld的项目编写。



      首先在你的项目根目录里面安装express框架(CNPM install -g express),安装完成之后,老版本的node支持express的doc命令,问题及解决方案如下。

          原因1:

          你安装的express是4.0以上的版本,express在4.0之后,需要安装the executable(执行器express-generator)才能执行express命令,

         解决方案:

         安装express-generator即可,cnpm install express-generator -g;

     下面再来说一下,Nodejs 使用expressDoc命令创建项目,默认创建的是jade模板,但是jade对于初学者而言虽说简便,但是就是有些难以理解,小编看来就是语法反人类,所以,果断使用ejs模板,它里面有一套类似于Java JSP EL表达式的东西,支持嵌入html页面,DOC命令

              express  -e  +项目名(ejs模板引擎)

其中<%=%>里面放入的是变量名,<%%>里面放入的是js标签,注意,每一个括号都需要用<%%>括起来。

      所谓万事俱备,只欠东风,下面,我们就开始编写自己的路由,在Routers目录下,新建JS文件:    

写入        var router=require("express").Router();

 router.post/get("/",function(req,res,next){

//这里介绍几种API

req.body.name  //获取html页面表单内容 name即代表html页内的标签name

res.send();//向客户端页面发送信息

res.redirect();//重定向页面

});

      但是,这个时候,你再启动服务器,会发现报一大堆的错误,why?因为,express模板引擎创建项目的时候并不会自动安装相应的包,此时需要你在当前目录下再执行   cnpm install     /cnpm install  module  

      现在,再启动服务器,在浏览器端访问localhost:3002,怎么样,这个时候是不是没问题了,并且浏览器端也成功显示除了express的Logo页面,我们只需要在index.html中修改title的值就好。

      到目前为止,所有的工作也就结束了,还有一个Nodejs的爬虫小项目,下一期博客为大家提供。

注:本博文中部分经验转载自CSDN以及简书博客,仅仅当做个人经验总结,并无商业用途。如果产生什么不必要的产权纠纷,博主概不负责。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,189评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,577评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,857评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,703评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,705评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,620评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,995评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,656评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,898评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,639评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,720评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,395评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,982评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,953评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,195评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,907评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,472评论 2 342

推荐阅读更多精彩内容

  • 搭建开发环境并模拟交互数据 一、实验说明 下述介绍为实验楼默认环境,如果您使用的是定制环境,请修改成您自己的环境介...
    玄月府的小妖在debug阅读 2,106评论 0 15
  • Chapter01.简介 NodeJS是让JavaScript脱离浏览器运行在服务器的一个平台,不是语言。 Nod...
    JunChow520阅读 940评论 0 9
  • Node: 1.《nodejs入门》,才38页,很好,书中项目做一下,学会基础 2.《nodejs开发指南》。18...
    寻雨的人阅读 2,113评论 0 32
  • 个人入门学习用笔记、不过多作为参考依据。如有错误欢迎斧正 目录 简书好像不支持锚点、复制搜索(反正也是写给我自己看...
    kirito_song阅读 2,449评论 1 37
  • 今年我24岁……说大不大说小不小! 我彷徨又迷茫着,兴奋又快乐。我急切的想拥有好工作,过上好生活,想拥有自己的房子...
    夜空中最亮的星0912阅读 223评论 0 1