Node基础教程(1)

1.安装
直接参考菜鸟教程http://www.runoob.com/nodejs/nodejs-install-setup.html
2.编辑工具
sublime Text, WebStorm等均可以。
3.运行方式
在Terminal执行 node xxx.js, xxx为包含代码的文件名。
4.http模块与fs模块Demo
http模块是服务模块,fs模块是读/删文件的模块,通过require命令便可以引入该模块。

//引入http/fs模块
var http = require('http')
var fs = require('fs')

//创建一个请求
var server = http.createServer()
//监听与处理请求
server.on('request', function (req, res) {
  // 读取路由
  var url = req.url
  // 根据不同路由,返回不同response
  if (url === '/') {

    // 我们要发送的还是在文件中的内容
    fs.readFile('./resource/index.html', function (err, data) {
      if (err) {
        res.setHeader('Content-Type', 'text/plain; charset=utf-8')
        res.end('文件读取失败,请稍后重试!')
      } else {
        // data 默认是二进制数据,可以通过 .toString 转为咱们能识别的字符串
        // res.end() 支持两种数据类型,一种是二进制,一种是字符串
        res.setHeader('Content-Type', 'text/html; charset=utf-8')
        res.end(data)
      }
    })
  } else if (url === '/xiaoming') {
    // url:统一资源定位符
    // 一个 url 最终其实是要对应到一个资源的
    fs.readFile('./resource/ab2.jpg', function (err, data) {
      if (err) {
        res.setHeader('Content-Type', 'text/plain; charset=utf-8')
        res.end('文件读取失败,请稍后重试!')
      } else {
        // data 默认是二进制数据,可以通过 .toString 转为咱们能识别的字符串
        // res.end() 支持两种数据类型,一种是二进制,一种是字符串
        // 图片就不需要指定编码了,因为我们常说的编码一般指的是:字符编码
        res.setHeader('Content-Type', 'image/jpeg')
        res.end(data)
      }
    })
  }
})

server.listen(4000, function () {
  console.log('Server is running...')
})

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

推荐阅读更多精彩内容

  • 前端知识体系http://www.cnblogs.com/sb19871023/p/3894452.html 前端...
    秋风喵阅读 14,306评论 7 163
  • Node.js第一天 1. 初识Node.js 1.1 Node.js是什么 Node.js® is a Java...
    再见天才阅读 10,216评论 1 24
  • Node.js是目前非常火热的技术,但是它的诞生经历却很奇特。 众所周知,在Netscape设计出JavaScri...
    w_zhuan阅读 8,981评论 2 41
  • 20171108,昨晚儿子回来跟我聊:妈,你告诉别人说给我100元钱呀?我:没有呀!是不是前几天写朋友圈说周末学习...
    铭玮阅读 1,163评论 0 0
  • 明月高挂,我心思家。 爱妻身弱,为夫无暇。 南北漂忽,东西长跋。 他年何日,暮鼓天涯?
    肖公子阅读 3,856评论 15 22