今天来讲讲我学习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以及简书博客,仅仅当做个人经验总结,并无商业用途。如果产生什么不必要的产权纠纷,博主概不负责。