溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

怎么使用gulp搭建本地服務(wù)器并實(shí)現(xiàn)模擬ajax

發(fā)布時(shí)間:2021-07-06 13:51:07 來(lái)源:億速云 閱讀:117 作者:小新 欄目:web開(kāi)發(fā)

小編給大家分享一下怎么使用gulp搭建本地服務(wù)器并實(shí)現(xiàn)模擬ajax,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

可以實(shí)現(xiàn)的功能有:

       1. 本地http服務(wù)器

       2.頁(yè)面實(shí)時(shí)刷新

       3.可以模擬ajax請(qǐng)求

第一步,新建package.json文件。

用到了gulp、gulp-webserver、gulp-livereload

package.json的內(nèi)容如下:

{
 "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"
 }
}

第二步,在當(dāng)前目錄下執(zhí)行npm install安裝所需的包

第三步,建立目錄結(jié)構(gòu)

怎么使用gulp搭建本地服務(wù)器并實(shí)現(xiàn)模擬ajax

其中,www是站點(diǎn)的根目錄,用于放置html/js/css等靜態(tài)文件,api是用于放置模擬ajax請(qǐng)求的js文件,如test.js。則ajax請(qǐng)求/api/test的時(shí)候,返回改文件的內(nèi)容,是一個(gè)json對(duì)象。

第四步,編寫(xiě)gulpfile.js

gulpfile.js內(nèi)容如下:

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

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

//web服務(wù)器
gulp.task('webserver', function() {
 gulp.src('./www') // 服務(wù)器目錄(./代表根目錄)
 .pipe(webserver({ // 運(yùn)行g(shù)ulp-webserver
 port: 8000, //端口,默認(rèn)8000
 livereload: true, // 啟用LiveReload
 open: true, // 服務(wù)器啟動(dòng)時(shí)自動(dòng)打開(kāi)網(wǎng)頁(yè)
 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開(kāi)頭的數(shù)據(jù),直接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": "沒(méi)有找到此文件",
   "notFound": mockDataFile
   }));
   return;
  }
  var data = fs.readFileSync(mockDataFile, 'utf-8');
  res.setHeader('Content-Type', 'application/json');
  res.end(data);
  });
  next();
 },
 proxies: []
 }));
});


// 默認(rèn)任務(wù)
gulp.task('default', ['webserver']);

第五步,執(zhí)行g(shù)ulp命令,會(huì)自動(dòng)打開(kāi)瀏覽器,在8000端口起了http服務(wù)。就可以看到你的頁(yè)面了。 

為了給大家使用方便,我把建立好的目錄和文件放在這里了,你下載后,直接運(yùn)行npm install,然后gulp就可以了。

看完了這篇文章,相信你對(duì)“怎么使用gulp搭建本地服務(wù)器并實(shí)現(xiàn)模擬ajax”有了一定的了解,如果想了解更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI