看了几天node.js的书和视频,今天终于是到了要动手写代码的时候了。模仿书上的小demo,做个微博~
首先,安装express框架。node.js的Http模块提供的是底层的接口,虽然可以让我们对http协议有更好的理解,但是不易于实现和使用。所以我们选择了express框架。
安装express
$npm install -g express
为了比较方便的在命令行中使用,所以选择了全局安装。这里我们可能会遇到一个问题。安装之后,依然提示'express'不是内部或外部命令···
这是因为:新版本将命令工具分家了,所以先另外再安装它$npm install -g express-generator
这和一些比较老的教程之间有出入,值得初学者注意。建立工程
$expres -t ejs microblog
这行命令表示初始化一个叫microblog的项目并指定ejs模板引擎。
在看不明白命令行的意思或者不知道应该用哪个命令时,express --help
命令能给我们提供些许帮助。
初始化后会提示我们进入项目中并执行npm install,这个命令的作用是检查当前目录下的package.json。在这里,它会自动安装ejs和express
不知道为啥默认安装了jade(据说jade功能强大但是学起来会比较复杂,所以我暂时选择了比较简单一点的ejs),所以手动去package.json中的dependencies里手动配置了ejs
当当当 当我看到项目自动配置里全都是jade的时候,我的内心是崩溃的,索性删掉整个项目重新开始 ,反正我又没开始写,万幸这次我认真看了警告并老老实实用了help命令,所以是现在新版的变动嘛 所以,一定要自己写,并老老实实一步一个坑踩过来~
呀土豆的蜂蜜黄油味真的是一言难尽
- 启动服务器
$node app.js $npm start
当当当~ 可以了
node.js中在不重启的情况下刷新页面获得的都是第一次启动时存在内存中的数据,所以不会发生改变。ctrl+c可以关闭,要想实现监事代码和自动重启,可以安装supervisor
现在,一个项目的框架搭建好了。但是参照的教程出版于2012年,五年过去了技术也有了一些革新,对初学者来说这确实是一个问题了,这时候,万事靠自己啦~ 边对照教程边在网上查资料然后记得一定要添加注释,否则过几天之后,可能就完全不知道自己写的是什么东西了。
像下面就是踩坑记录啦~
我用的是webstrom做的开发,所以遇到的坑都是在webstrom中的情况
对index.js页面做了修改之后无效,后来发现是require被提示提示 unresolved function or method
解决办法:在WebStorm中的File菜单项中选择Setting–Javascript–libraries–Add添加Node.js Core Modules项路由控制的实现是一个有点复杂的过程,但这也是node.js的亮点之一。好在express框架封装了路由,不需要我们手动去实现,但是这一部分还是很有必要去了解一下的。
写到这里又转头回去学中间件和路由去了。所以呀,对学的东西有个大致的了解之后动手,不会的再有针对性的学~
卡在了设置路由这里好久,又回过头重新看了路由和中间件的知识,最终,在趴在桌子上睡完午觉之后喝了一瓶旺仔牛奶的中午,我终于弄出来了!!!撒花
接下来,安装MongoDB,以前没有接触过,又get了一项需要学习的新技能··· 安装之后要记得在package.json中更新模块依赖并用npm install下载。
如何正确的安装和操作使用是一门大学问。折腾了好几个小时。。安装了一个gui,我对命令行一向无感,可能是没吃过用GUI的苦···