设为首页 收藏本站
查看: 929|回复: 0

[经验分享] nodejs学习笔记

[复制链接]

尚未签到

发表于 2017-2-21 09:04:21 | 显示全部楼层 |阅读模式
  手头资料:《深入浅出nodeJS》、《了不起的Node.js》。
  个人感觉,《深入浅出》更偏重于理论;而《了不起的Node》实际上手例子较多,偏重实践。
  理论知识的介绍放在后面,先从实际例子入手。待有实践经验后,回过来看理论,理解会更透彻。
  一、安装nodejs
  1. 访问nodejs官网,下载nodejs。
  2. 安装nodejs,安装成功后配置环境变量。
  3. 验证是否安装成功:命令行下(cmd),键入node -v;若安装成功会显示node的版本号。
  如图:
DSC0000.bmp
 
  二、执行文件
  由于我的node例子都创建并保持在D:\nodejs-practice目录下。因此执行前都会cd到改目录。
  在参照《了不起的nodeJS》学习是,有些命令与操作系统对应不上(我是WIN7);自己做了微小的调整。
  这里对后面常用的命令介绍一下:
  cd:目录跳转;
  md:创建文件夹;
  cd>:创建文件;
  cd..:返回上一级目录;
  1. cmd下,跳转至D:\nodejs-practice目录下,创建my-web-server.js文件,通过文本编辑器打开文件,录入代码。
  如图:图中最后一行命令,就是执行文件。
DSC0001.bmp
 2. my-web-server.js代码


var http = require('http');
var server = http.createServer(function (req, res){
res.writeHead(200, {'Content-Type':'text/html'});;
res.end('<marquee>Smashing Node!</marquee>');
});
server.listen(3000);
  3. 执行后,打开浏览器,地址栏:http://localhost:3000就会看到效果,这里就不截图了。
  三、安装模块
  1. cmd下录入命令:
  md my-project
  cd my-project
  npm install colors
  如图:
DSC0002.bmp
 

  2. my-project文件夹下,创建index.js
  index.js代码:

require('colors');
console.log('smashing node'.rainbow);
  3. 执行js,如图所示:
  
DSC0003.bmp
 
  四、绝对和相对模块
  1. 绝对模块:指node通过在其内部node_modules查找到的模块,或者node内置的如fs这样的模块。我们上面通过npm install colors安装的模块就属于绝对模块。
  2. 相对模块:工作目录中的js文件。
  3. 我们在my-project文件夹下创建module_a.js文件。
  4. 在index.js中,通过require('./module_a')引入相对模块。
  5. 在module_a.js文件中录入console.log('I come to module_a.js');
  6. 执行index就可看到效果了。
  五、购物车例子(覆盖面比较全的例子)
  1. 这里有个前面没涉及到的内容:在文件夹内创建package.json文件后,通过npm install命令可以自动构建项目(通过json)。
  2. 例子的代码可以下载。
3. 这里对项目结构简单介绍:
  a. package.json用于构建项目(根据json载入所需要的包)。json文件是没办法添加注释......
  b. node_modules文件下就是运行npm install命令后根据json生成的,载入组件。
  c. views文件夹是我自己创建的,里面主要保存jade文件(类似html)。
  d. config.json内容:连接数据库的信息(这里用的是mysql)。
  e. setup.js内容:初始化数据库(建表等操作)。需要单独运行一下
  cmd,跳转至改目录,node setup
  f. server.js:个人感觉,这就相当服务端代码了。用于控制跳转,查询、保存数据等操作。类似MVC结构中的C、M层。
  g. veiws下的jade文件,编写的时候需要注意:小心缩进(只能用两个空格),注意进行赋值操作时等号的左侧是不能有空格的。 
  h. 启动项目,执行node server.js命令即可。
  i. server.js文件中有比较详细的注释了,大家可以参照一下。
  由于初次研究node,而且还是一次写博客。文章中存在诸多问题,希望众大神不吝指出。
  关于node学习,只停留在表层,工作中并没实际应用,文章只是自己的理解。也希望牛人们多多提建议,大家共同学习进步。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-345009-1-1.html 上篇帖子: ubuntu1204 安装nodejs 下篇帖子: nodejs调试工具
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表