利用gulp搭建本地服务器,并能模拟ajax

工作中可能会用到的小工具,在此记录一下。可以实现的功能有:

  1. 本地http服务器
  2. 页面实时刷新
  3. 可以模拟ajax请求

第一步,新建package.json文件。用到了gulp、gulp-webserver、gulp-livereload

package.json的内容如下:

{
  "name": "localserver",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
      "gulp": "^3.9.1",
    "gulp-webserver": "^0.9.1",
    "gulp-livereload": "^3.8.1"
  }
}

第二步,在当前目录下执行npm install安装所需的包

第三步,建立目录结构

其中,www是站点的根目录,用于放置html/js/css等静态文件,api是用于放置模拟ajax请求的js文件,如test.js。则ajax请求/api/test的时候,返回改文件的内容,是一个json对象。

第四步,编写gulpfile.js

gulpfile.js内容如下:

var url = require(‘url‘);
var fs = require(‘fs‘);
var path = require(‘path‘);

gulp = require(‘gulp‘);
livereload = require(‘gulp-livereload‘);
webserver = require(‘gulp-webserver‘);

//web服务器
gulp.task(‘webserver‘, function() {
    gulp.src(‘./www‘) // 服务器目录(./代表根目录)
    .pipe(webserver({ // 运行gulp-webserver
        port: 8000, //端口,默认8000
        livereload: true, // 启用LiveReload
        open: true, // 服务器启动时自动打开网页
        directoryListing: {
            enable: true,
            path: ‘./www‘
        },
        middleware: function(req, res, next) {
            //mock local data
            var urlObj = url.parse(req.url, true),
                method = req.method;

            if (!urlObj.pathname.match(/^\/api/)) { //不是api开头的数据,直接next
                next();
                return;
            }
            var mockDataFile = path.join(__dirname, urlObj.pathname) + ".js";
            //file exist or not
            fs.access(mockDataFile, fs.F_OK, function(err) {
                if (err) {
                    res.setHeader(‘Content-Type‘, ‘application/json‘);
                    res.end(JSON.stringify({
                        "status": "没有找到此文件",
                        "notFound": mockDataFile
                    }));
                    return;
                }
                var data = fs.readFileSync(mockDataFile, ‘utf-8‘);
                res.setHeader(‘Content-Type‘, ‘application/json‘);
                res.end(data);
            });
            next();
        },
        proxies: []
    }));
});

// 默认任务
gulp.task(‘default‘, [‘webserver‘]);

第五步,执行gulp命令,会自动打开浏览器,在8000端口起了http服务。就可以看到你的页面了。

为了给大家使用方便,我把建立好的目录和文件放在这里了,你下载后,直接运行npm install,然后gulp就可以了。

点此下载所有文件

时间: 2024-09-29 08:16:35

利用gulp搭建本地服务器,并能模拟ajax的相关文章

[PHP]利用XAMPP搭建本地服务器, 然后利用iOS客户端上传数据到本地服务器中(三. PHP端代码实现)

一.安装XAMPP   http://www.cnblogs.com/lidongxu/p/5256330.html 二. 配置MySql http://www.cnblogs.com/lidongxu/p/5256515.html 然后呢, 今天我们就来接触下PHP开发语言 1. 首先呢, 需要在我们本机服务器文件夹资源下新建个.php文件,   废话嘛(你要写php啦!) 2. 在register.php 输入以下代码 <?php // 1. 获取客户端利用post方式网络请求的body里的

利用gulp搭建简单服务器,gulp标准版

var gulp = require('gulp'), autoprefixer = require('gulp-autoprefixer'), //自动添加css前缀 rename = require('gulp-rename'), //文件重命名 sass = require('gulp-sass'), //sass的编译 minifycss = require('gulp-minify-css'), //压缩css uglify = require('gulp-uglify'), //压缩

json server的简单使用(附:使用nodejs快速搭建本地服务器)

作为前端开发人员,经常需要模拟后台数据,我们称之为mock.通常的方式为自己搭建一个服务器,返回我们想要的数据.json server 作为工具,因为它足够简单,写少量数据,即可使用. 安装 首先需要安装nodejs,建议使用最新版本.然后全局安装json server. npm install json-server -g 安装完成后可以用 json-server -h 命令检查是否安装成功,成功后会出现json-server相关的参数选项. 运行 安装完成后,可以在任一目录下建立一个 xxx

利用Docker搭建本地https环境的完整步骤

利用Docker搭建本地https环境的完整步骤 这篇文章主要给大家介绍了关于如何利用Docker搭建本地https环境的完整步骤,文中通过示例代码将实现的步骤介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 什么是 HTTPS 我们都知道 Web App 的运行都是建立在网络应用层 HTTP 协议的,HTTP 协议能够进行客户端和服务器之间的请求和返回.但是这个过程是明文传输的,当请求被抓包后传输内容很容易被篡改,这对用户的安全性来说是极其严重的威胁.PWA 应

iOS开发网络篇—搭建本地服务器

iOS开发网络篇—搭建本地服务器 一.简单说明 说明:提前下载好相关软件,且安装目录最好安装在全英文路径下.如果路径有中文名,那么可能会出现一些莫名其妙的问题. 提示:提前准备好的软件 apache-tomcat-6.0.41.tar eclipse-jee-kepler-SR2-macosx-cocoa-x86_64.tar.gz jdk-8u5-macosx-x64.dmg 二.安装和配置本地服务器环境(java)步骤: (1)在文档路径下,新建一个文件夹(NetWord),解压eclips

微信公众号开发技术基础(一):Eclipse+Tomcat搭建本地服务器并跑通HelloWorld程序

本文结构:(一)环境准备(二)在Eclipse里创建Dynamic Web工程(三)写一个简单的Servlet类并配置web.xml(四)运行程序 (一)环境准备 1.Eclipse:要使用for JavaEE版本的Eclipse,因为要创建Dynamic Web(动态Web)程序,这里使用eclipse-jee-mars-1-win32-x86_64版本.Eclipse是绿色软件,下载后解压缩即可打开使用. 百度网盘下载链接:https://pan.baidu.com/s/1dFvaKrJ 2

IIS搭建本地服务器,花生壳实现外网通过域名访问网站

配置服务器 作为一个青年,没有实力,做不出标图所示的服务器. 作为一个学生,买不起服务器 作为一个小孩,买不起域名 但别忘了 作为一个平民玩家,只要有耐心 装备迟早会做出来的 (注:感觉有钱与没钱还是区别好大) 一.涉及内容 目的: 1.搭建本地服务器   2.让外网用户能够访问本地   3.获得免费域名  4.使用域名访问 内容:  1.使用花生壳和IIS配置本地服务器 2.参考(相关)网址 大致步骤: 1.ISS的启动 2.网站的添加 3.ISS中IP的选择 4.花生壳的使用 注:本文演示的

利用crtmpserver搭建rtmp服务器

Google + 实践:终于直播成功. 这样,后续就可以对代码进行改造,利用开源代码实现:Android平台下,搭建rtmp服务器,浏览器端利用flash播放视频. 代码架构为:ffmpeg + crtmpserver + flash ,进一步拆分:flv muxer + librtmp + crtmpserver + flash 进入正题: 1. 下载crtmpserver ,地址: 2. 下载ffmpeg,下载地址: 利用crtmpserver搭建rtmp服务器

Debian利用iso搭建本地软件源

Debian利用iso搭建本地软件源: mount -o loop debian-9.4.0-amd64-DVD-1.iso /space/deb/ vi /etc/apt/source.list (将原有内容注释,前加#) :wq apt-cdrom -m -d /space/deb/ add apt-get update 原文地址:http://blog.51cto.com/yangzhiming/2114562