创建server.js

'use strict';
//http模块
var http = require('http');
//封装的方法
var handlers = require('./handlers'); //创建服务
var server = http.createServer(function(request, response) {
//url地址
var url = request.url; if(url === '/'){
handlers.homepage(request, response);
}else if (url === "/profile") {
handlers.profile(request, response);
} else {
handlers.notFound(request, response);
}
});
//端口3000
server.listen(3000);
console.log('start 3000');

handlers.js

'use strict';
//首页
exports.homepage = function(request, response){
response.setHeader('Content-Type', 'text/html');
response.end('<h1>helloworld</h1>')
}
//一个接口
exports.profile = function(request, response){
var profile = {
name : 'will',
age : 35
}
response.setHeader('Content-Type','application/json');
response.end(JSON.stringify(profile));
} //404
exports.notFound = function(request, response) {
response.statusCode = 404;
response.setHeader("Content-Type", "text/html");
response.end("<h1>404 Not Found!</h1>");
}

es6写法

1.下载babel-register

npm install babel-register -S

2.下载babel-preset-es2015

npm install babel-preset-es2015 --save-dev

main.js

require('babel-register');
require('./src/server');

server.js

import http from 'http';
import { homepage, notFound } from './handlers'; const server = http.createServer((request, response) =>{
homepage(request, response);
}); server.listen(3000);
console.log('listen 3000');

handlers.js

export function homepage(request, response){
response.setHeader("Content-Type", "text/html");
response.end("hello world");
} export function notFound(request, response){
response.setHeader("Content-Type", "text/html");
response.end("404");
}

6-最基础的服务-es6写法的更多相关文章

  1. React,React Native中的es5和es6写法对照

    es6用在React中的写法总结: 在es6还没有完全支持到浏览器的阶段里,已经有很多技术人员开始用es6的写法来超前编程了,因为有转义es6语法的工具帮助下,大家才可大量使用.解析看看es6写法用在 ...

  2. 创建基于MailKit和MimeKit的.NET基础邮件服务

    邮件服务是一般的系统都会拥有和需要的功能,但是对于.NET项目来说,邮件服务的创建和使用会较为的麻烦..NET对于邮件功能提供了System.Net.Mail用于创建邮件服务,该基础服务提供邮件的基础 ...

  3. react-native ES5与ES6写法对照表

    转载链接:http://www.ncloud.hk/%E6%8A%80%E6%9C%AF%E5%88%86%E4%BA%AB/react-native-es5-and-es6-writing-tabl ...

  4. Python web 框架之 Django 基础搭建服务

    1. 需要安装 Python 和 Django 环境,Python 环境的安装我就不在多说了 2. 安装框架 Django Django 安装,推荐先装个 pip吧,easyinstall也可以,然后 ...

  5. 【转】React Native中ES5 ES6写法对照

    很多React Native的初学者都被ES6的问题迷惑:各路大神都建议我们直接学习ES6的语法(class Foo extends React.Component),然而网上搜到的很多教程和例子都是 ...

  6. MailKit和MimeKit的.NET基础邮件服务

    MailKit和MimeKit的.NET基础邮件服务 邮件服务是一般的系统都会拥有和需要的功能,但是对于.NET项目来说,邮件服务的创建和使用会较为的麻烦..NET对于邮件功能提供了System.Ne ...

  7. JavaScript get set方法 ES5/ES6写法

    网上鲜有get和set的方法的实例,在这边再mark一下. get和set我个人理解本身只是一个语法糖,它定义的属性相当于“存储器属性” 为内部属性提供了一个方便习惯的读/写方式 ES5写法 func ...

  8. 十三.基础邮件服务、parted分区工具、交换分区、链路聚合

    1.基础邮件服务 DNS服务器:虚拟机classroom   以server0.example.com 为例  yg@server0.example.com    xln@server0.exampl ...

  9. 使用 C++ 编写的基础 Windows 服务 (CppWindowsService)

    最近项目中涉及到使用C++写一个后台服务程序,找了很多资料,还是使用Google搜索找到了比较详细点的资料,就是从微软官方MSDN的例子,如下: 使用 C++ 编写的基础 Windows 服务 (Cp ...

随机推荐

  1. mysql中group by和order by同时使用无效的替代方案

    前言 最近一年由于工作需要大部分使用的都是NoSql数据库,对关系型数据库感觉越来越陌生,一个由group by和order by 引发的血案由此而生.在此做个记录,以备不时之需. 需求 首先,看一下 ...

  2. java 父类构造器

    当创建任何java对象时,程序总会首先调用系统的父类非静态初始化块(隐式执行)和父类构造器(从object开始(java程序中所有类的最终父类都是java.lang.Object类,使用语句super ...

  3. 一些java方面面试题,没事做做看看(带答案)

    1. Switch能否用string做参数? a.在?Java? <http://lib.csdn.net/base/java>7 之前, switch 只能支持byte,short,ch ...

  4. git视频教程

    git 精简版视频教程-2小时快速入门精华版,小教程很快就可以看完. 旺旺 QQ:Git是目前世界上最先进的分布式版本控制系统(没有之一). Git有非常高的逼格,简单来说就是:高端大气上档次. 这么 ...

  5. celery的使用

    1.celery的任务调度 # -*- coding: utf-8 -*- import threading from bs4 import BeautifulSoup from tornado im ...

  6. bootstrap图标字体不出来问题的解决办法

    @font-face { font-family: 'Glyphicons Halflings'; src: url('/Scripts/bootstrap/fonts/glyphicons-half ...

  7. htm5拖放和画布

    拖放 拖放是一种常见的特性,即抓取对象以后拖到另一个位置. 在 HTML5 中,拖放是标准的一部分,任何元素都能够拖放. 首先,为了使元素可拖动,把 draggable 属性设置为 true ondr ...

  8. Ext秒表

    Ext秒表 显示分和秒 js Ext.define('xy.StopWatchWindow', { extend: 'Ext.window.Window', width: 300, modal: tr ...

  9. kbengine_js_plugins 在Cocos Creator中适配

    kbengine_js_plugins 改动(2017/7/6) 由于Cocos Creator使用严格模式的js,而原本的kbengine_js_plugins是非严格模式的,因此为了兼容和方 便C ...

  10. Configure: error: freetype.h not found. 的解决办法

    出现 Configure: error: freetype.h not found. 的解决办法 CentOS yum install freetype-devel Debian apt-get in ...