前端用node寫(xiě)個(gè)接口自己用

做前端的朋友,有沒(méi)有這種感覺(jué)。做個(gè)項(xiàng)目要用到接口調(diào)數(shù)據(jù)的時(shí)候,突然發(fā)現(xiàn)你們的后臺(tái)大鍋接口還木有寫(xiě)好又或者其他還沒(méi)調(diào)聯(lián)好,也還沒(méi)辦法給你地址。那這時(shí)候可以自己寫(xiě)個(gè)假數(shù)據(jù)來(lái)模擬著先。自從node出來(lái)之后,對(duì)我們前端的銀來(lái)說(shuō),這個(gè)厲害慘了,一些簡(jiǎn)單接口咱們也可以自己寫(xiě)自己調(diào)了,也比較簡(jiǎn)單~先不麻煩你后臺(tái)哥哥碼文檔了!

下面上代碼:

默認(rèn)裝好了node的環(huán)境哈。沒(méi)安裝node的可以先下載安裝,然后相關(guān)node和npm的一些基礎(chǔ)可以去官網(wǎng)看看先。
首先命令行npm init 創(chuàng)建一下package.json文件。
然后在項(xiàng)目目錄上創(chuàng)建一個(gè)api.js文件。里面會(huì)有相關(guān)的注釋。

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

app.all('*', function(req, res, next) {             //設(shè)置跨域訪問(wèn)
    res.header("Access-Control-Allow-Origin", "*");
    res.header("Access-Control-Allow-Headers", "X-Requested-With");
    res.header("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS");
    res.header("X-Powered-By",' 3.2.1');
    res.header("Content-Type", "application/json;charset=utf-8");
    next();
 });
var infor = [                       //傳前端的數(shù)據(jù)
    {
        name:'jay',
        age:20,
        sex:'男',
        hobby:'basketball'
    },
    {
        name:'賊好玩',
        age:23,
        sex:'女',
        hobby:'shopping'
    },
    {
        name:'高漸離',
        age:24,
        sex:'男',
        hobby:'music'
    },
    {
        name:'小紅',
        age:28,
        sex:'男',
        hobby:'game'
    },
    {
        name:'Tony',
        age:24,
        sex:'男',
        hobby:'no'
    },
]


app.get('/api',function(req,res){           //配置接口api
    res.status(200),
    res.json(infor)
})

//配置服務(wù)端口
var server = app.listen(3002,function(){
    var host = server.address().address;
    var port = server.address().port;
    console.log('listen at http://%s:%s',host,port)
})

然后上面用到了express框架,所以要install一下,直接在命令行里安裝并寫(xiě)入依賴?yán)?br> npm install express --save
到這里其實(shí)接口就完了。這么簡(jiǎn)單????對(duì),就是這么簡(jiǎn)單。
然后再去html里面用ajax請(qǐng)求一下。

    $.ajax({
        type:'get',
        url:'http://localhost:3002/api',
        success:function(data){
            console.log(data)
        },
        error:function(err){
            console.log(err)
        }
    })

再F12打開(kāi)控制臺(tái)窗口,看到下面這個(gè)返回的數(shù)據(jù),就已經(jīng)ok的了。


image.png

其實(shí)我也是最近在學(xué)習(xí)的node中,如果上面有哪里寫(xiě)錯(cuò)話的可以指出來(lái)喲,謝謝!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,008評(píng)論 25 709
  • JavaScript 模塊化編程 網(wǎng)站越來(lái)越復(fù)雜,js代碼、js文件也越來(lái)越多,會(huì)遇到什么問(wèn)題? 命名沖突; 文件...
    magic_pill閱讀 1,583評(píng)論 0 1
  • 什么是 NPM npm之于Node,就像pip之于Python,gem之于Ruby,composer之于PHP。 ...
    ihoey閱讀 6,366評(píng)論 2 36
  • 項(xiàng)目實(shí)施,最緊要的就是明白什么是因地制宜、因勢(shì)利導(dǎo)、資源整合,只有合適這個(gè)概念,沒(méi)有什么絕對(duì)的對(duì)或絕對(duì)的錯(cuò)。 四小...
    Stereoline_俊平閱讀 686評(píng)論 0 0
  • 人見(jiàn)人窮繞著走, 狗見(jiàn)家窮死也守! 落葉時(shí)分而知秋, 受窮之后而知愁! 你若成功了,放個(gè)屁都有道理 , 你若失敗了...
    漂浮的流云閱讀 268評(píng)論 2 1

友情鏈接更多精彩內(nèi)容