成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

express+mock如何實(shí)現(xiàn)前后臺(tái)并行開發(fā)

小編給大家分享一下express+mock如何實(shí)現(xiàn)前后臺(tái)并行開發(fā),相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名與空間、網(wǎng)絡(luò)空間、營銷軟件、網(wǎng)站建設(shè)、惠水網(wǎng)站維護(hù)、網(wǎng)站推廣。

express + mock讓前后臺(tái)并行開發(fā)。

app.js

'use strict';

const express = require('express');
const app = express();

// port
let NODE_PORT = process.env.PORT || 4000;
// 監(jiān)聽 /user
app.use('/user', function(req, res) {
 // 讓接口 500-1000ms 返回 好讓頁面有個(gè)loading
 setTimeout(() => {
 res.json({
  status: 1,
  msg: '查詢成功',
  data: {
   name: '張三'
  }
 });
 }, Math.random() * 500 + 500);
});

app.listen(NODE_PORT, function() {
 console.log('mock服務(wù)在' + NODE_PORT + '端口上已啟用!');
});

接下來我們當(dāng)前文件打開命令窗口運(yùn)行 node app.js

然后打開瀏覽器 輸入 http://localhost:4000/user

express+mock如何實(shí)現(xiàn)前后臺(tái)并行開發(fā)

就完成了一個(gè)簡單的模擬數(shù)據(jù),接下來我們完善下需求

如果我們?cè)诒镜亻_發(fā)中有時(shí)候 端口不同會(huì)報(bào)跨域問題,所以我們需要在 app.js 添加一下代碼

const cors = require('cors');
app.use(cors({
 origin: '*',
 methods: ['GET', 'POST', 'PUT', 'DELETE'],
 allowedHeaders: ['conten-Type', 'Authorization']
}));

這樣就可以在別的端口訪問或者別的ip內(nèi)網(wǎng)(你同時(shí))訪問了。

如果我們需要訪問一些靜態(tài)文件的可以添加一下代碼

// './' 根據(jù)自己的需求自己配置
app.use(express.static(path.join(__dirname, './')));

// 配置nodeman熱更新

var nodemon = require('nodemon');
nodemon({
 script: 'app.js',
 ext: 'json js',
 ignore: [
  '.git',
  'node_modules/**'
 ],
});

接下來繼續(xù)完善, 在開發(fā)中我們不可能只有一個(gè)接口,所以我們?cè)趦?yōu)化下。

app.js
'use strict';

const express = require('express');
const cors = require('cors');
const path = require('path');
var nodemon = require('nodemon');
const userRoutes = require('./user');
const areaRoutes = require('./area');
const nameListRoutes = require('./name-list');
const app = express();

app.use(cors({
 origin: '*',
 methods: ['GET', 'POST', 'PUT', 'DELETE'],
 allowedHeaders: ['conten-Type', 'Authorization']
}));

// port
let NODE_PORT = process.env.PORT || 4000;
app.use(express.static(path.join(__dirname, './')));

app.use('/user', userRoutes);
app.use('/area', areaRoutes);
app.use('/nameList', nameListRoutes);

nodemon({
 script: 'app.js',
 ext: 'json js',
 ignore: [
  '.git',
  'node_modules/**'
 ],
});

app.listen(NODE_PORT, function() {
 console.log('mock服務(wù)在' + NODE_PORT + '端口上已啟用!');
});

我們需要在同級(jí)目錄添加以下文件
./user/index.js , /user/area.js, /name-list/index.js

express+mock如何實(shí)現(xiàn)前后臺(tái)并行開發(fā)

./user/index.js 中的內(nèi)容如下

'use strict';
const express = require('express');
const Mock = require('mockjs');
const apiRoutes = express.Router();

let random = Math.random() * 500 + 500;
// 訪問 /user/ 時(shí)
apiRoutes.get('/', function(req, res) {
 setTimeout(() => {
  res.json({
   status: 1,
   msg: '查詢成功',
   data: {
     name: '張三'
   }
  });
 }, random);
});
// 訪問 /user/1111 時(shí)
apiRoutes.get('/idList', function(req, res) {
 setTimeout(() => {
  res.json({
   status: 1,
   msg: 'OK',
   data: Mock.mock({
      'list|1-10': [{
       'id|+1': 1
      }]
    })
  });
 }, random);
});

module.exports = apiRoutes;

我們現(xiàn)在在瀏覽器中訪問

express+mock如何實(shí)現(xiàn)前后臺(tái)并行開發(fā)

express+mock如何實(shí)現(xiàn)前后臺(tái)并行開發(fā)

我們初步模擬數(shù)據(jù)基本就完成了。

接下需要在項(xiàng)目中用了

先區(qū)分環(huán)境

// 判斷是否是本地開發(fā)
const isDev = process.env.NODE_ENV ==='development';
// 設(shè)置 host 本地走mock 生產(chǎn)環(huán)境走相對(duì)路徑 /user/
const host = isDev ? 'http://localhost:4000' : ''

fetch(`${host}/user/`)
 .then(response => {
  return response.json();
 })
 .then(data => {
  console.log(data );
 });

假設(shè)我們?cè)诒镜卦L問

express+mock如何實(shí)現(xiàn)前后臺(tái)并行開發(fā)

數(shù)據(jù)都能拿到了, 在試一下 別的域名訪問

express+mock如何實(shí)現(xiàn)前后臺(tái)并行開發(fā)

跨域問題也OK。

我們?cè)谠O(shè)置下 package.json 在你本地開發(fā)的命令后臺(tái)添加 && node xx/aap.js 或者單獨(dú)一個(gè)命令窗口運(yùn)行

以上是“express+mock如何實(shí)現(xiàn)前后臺(tái)并行開發(fā)”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

當(dāng)前題目:express+mock如何實(shí)現(xiàn)前后臺(tái)并行開發(fā)
標(biāo)題來源:http://jinyejixie.com/article46/jopchg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計(jì)、移動(dòng)網(wǎng)站建設(shè)、定制開發(fā)、定制網(wǎng)站、網(wǎng)站營銷App開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁設(shè)計(jì)公司
蓝山县| 麻栗坡县| 仁布县| 横峰县| 昌黎县| 万全县| 咸宁市| 乐安县| 玉林市| 新源县| 香河县| 水富县| 灵璧县| 彭阳县| 洛扎县| 咸宁市| 九龙城区| 镇远县| 饶平县| 石阡县| 额济纳旗| 阿荣旗| 瑞昌市| 镇雄县| 宁蒗| 阜宁县| 惠安县| 营山县| 忻城县| 乌鲁木齐市| 固安县| 观塘区| 萨迦县| 竹山县| 庄河市| 福海县| 波密县| 团风县| 进贤县| 克什克腾旗| 陆丰市|