Node学习笔记一:Hello Node!

1.Hello World

1.1安装:nodejs

Mac系统上的安装:

brew install node

如果报错

Linking /usr/local/Cellar/node/0.10.32... 
Error: Could not symlink include/node/ares.h
/usr/local/include/node is not writable. 

则执行:

sudo chown -R `whoami` /usr/local/include/node

如果npm安装不成功

Warning: The post-install step did not complete successfully
You can try again using `brew postinstall node`

执行

sudo brew postinstall node

2.模块(Module)

node包管理npm,

配置国内npm镜像:

  • 1.通过config命令
npm config set registry https://registry.npm.taobao.org
npm info underscore (如果上面配置正确这个命令会有字符串response)
  • 2.命令行指定
npm --registry https://registry.npm.taobao.org
npm  info underscore 
  • 3.编辑~/.npmrc
    加入下面内容
registry = https://registry.npm.taobao.org

或者搜索镜像: https://npm.taobao.org

2.1系统模块

2.2 第三方模块

Supervisor 监测node程序中的文件,当有文件发生变化时会重启服务;

2.3 创建自定义模块

3.异步

默认是异步,每个异步方法都对应的同步方法:
例如:readFile()的同步方法是readFileSync()

4.事件

引入事件模块require('events')
创建事件em.on('my-event ',function(data){});
触发事件em.emit('my-event');
例如:

var events = require('events');
var em  = new events.EventEmitter();
var counter = 0;

//每2秒发出一个事件
var timer = setInterval(function(){
    em.emit('tick');
},2000);
em.on('tick',function(data){
    counter++;
    console.log(counter % 2 ? 'Tick' : 'Tock');
});

5.子进程

引入chile_process

6.框架Express

sudo npm install -g express-generator

原先的express带cli, 现在把cli拆成了单独的express-generator包. 原先的express运行生成的项目是node app.js, 因为httpserver相关代码都在app.js里, 现在这部分代码移到了项目目录的bin/www下面, app.js只保留实现app的逻辑代码, 你需要去运行那个bin/www。 只是很单纯的细化应用和包依赖的版本变更。

安装express 项目,express 会创建好脚手架

express --css less

安装依赖

 cd . && npm install

启动app

DEBUG=LearnNodejs:* npm start
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Node.js是目前非常火热的技术,但是它的诞生经历却很奇特。 众所周知,在Netscape设计出JavaScri...
    w_zhuan阅读 8,976评论 2 41
  • 个人入门学习用笔记、不过多作为参考依据。如有错误欢迎斧正 目录 简书好像不支持锚点、复制搜索(反正也是写给我自己看...
    kirito_song阅读 7,194评论 1 37
  • 1.科研交流软件:小木虫 实用指数:五颗星 具体有四个板块,大家遇到不懂的不会的可以在里面发帖子,也可以进行文献求...
    竹下石阅读 1,404评论 0 0
  • 在代码里面我们有很多种方法换行,比如\n, 比如设置Label的宽度在设置lines=0; 但是在故事板里面怎么换...
    Pusswzy阅读 5,121评论 1 2
  • 规则都被时间所打破 双手支起微弱的自我 心脏开始紧张的跳动 突破重围就在这一刻 挣脱无畏的烦锁现在 张开你的自由的...
    BLUEDCA阅读 1,599评论 0 0