排列5走势图首页    注册   登录
排列5走势图 = way to explore
排列5走势图 是一个排列5走势图关于 分享和探索的地方
现在注册
已注册用户请  登录
KevinRed
排列5走势图  ›  程序员

后端远程调用 js 项目实现方案

  •  
  •   KevinRed · 9 天前 · 1685 次点击

    欢迎访问原文后端远程调用 js 项目实现方案 -kevin 的博客 欢迎访问原文后端远程调用 js 项目实现方案 -kevin 的博客 欢迎访问原文后端远程调用 js 项目实现方案 -kevin 的博客

    js 运行速度快占用性能小,某些模块独立成 js 排列5走势图方法 是很好的选择,可是 js 需要依赖浏览器运行

    这就导致使用接口远程调用 js 排列5走势图方法 不能实现,经过一番查找发现了 node 这个大杀器

    下面就来介绍一下如何用后端调用 js 排列5走势图方法 获取返回值

    主要思想就是搭建 nodejs 排列5走势图服务 器,在 nodejs 项目中引用排列5走势图排列5走势图我 们 要调用的 js,并格式化返回值为 json 返回

    先要来说说 nodejs,简单介绍如何搭建一个 nodejs 排列5走势图服务 器,直接上代码

    这一步需要安装 node,详细可见 node 的安装与使用

    //service.js
    
    var http = require('http');
    var url = require("url");
    var querystring = require("querystring");
    http.createServer(function (request, response) {
    
       response.writeHead(200, {'Content-Type': 'application/json'});
       var arg = url.parse(request.url).query;
    
       var params = querystring.parse(arg);//url 后拼的参数
        
      
      
    }).listen(8000);//监听端口
    
    console.log('hello node');
    

    node service.js 即可运行起来

    没错就是这么简单,后通过 http://127.0.0.1:8000 即可访问

    还能再后边拼参数。如 http://127.0.0.1:8000?param=hello

    接下来就可以改造排列5走势图方法 了

    假设有个 js 文件

    //helloNodejs.js
    
    function hello() {
        var data = {'name': 'kevin', 'say' : 'hello nodejs'};
        return JSON.stringify(data);
    }
    

    排列5走势图排列5走势图我 们 对它稍微改造,让它能被 service.js 调用

    //方案 1
    
    module.exports = (function() {
        var data = {'name': 'kevin', 'say' : 'hello nodejs'};
        return JSON.stringify(data);
    })
    

    对应的 service.js 调用写法

    var helloNodejs = require('./helloNode');
    var result = helloNodejs();
    response.end(result);
    

    此方案适合 js 文件中仅有一个排列5走势图方法 ,如果有多个看下面

    //方案 2
    
    function hello() {
        var data = {'name': 'kevin', 'say' : 'hello nodejs'};
        return JSON.stringify(data);
    }
    
    exports.hello = hello
    

    对应的 service.js 调用写法

    var helloNodejs = require('./helloNode');
    var result = helloNodejs.hello();
    response.end(result);
    

    看到这是不是想大呼一声 js 牛批呀

    第 1 条附言  ·  9 天前
    大佬们轻喷啊,小弟搞 Android 的,刚接触 nodejs
    起因是在 github 上发现了一个 js 项目,想用 php 调用,发现写成接口调不通,最后发现必须有浏览器支持,几番排列5走势图搜索 找到 nodejs,发现网上很少有介绍如何用 nodejs 调用普通 js 排列5走势图方法 的,才写的这个文章
    37 条回复    2020-03-29 10:53:50 +08:00
    ironMan1995
        1
    ironMan1995   9 天前 via Android
    这不就是模块么
    gimp
        2
    gimp   9 天前
    。。。i 了 i 了
    rrfeng
        3
    rrfeng   9 天前
    ????????
    zeromake
        4
    zeromake   9 天前 via Android
    怎么说呢?欢迎回到地球,顺便说个事带 dom 操作 js 在 node 不好运行
    ayase252
        5
    ayase252   9 天前 via iPhone
    ??????
    Hilong
        6
    Hilong   9 天前 via iPhone   ❤️ 1
    牛批,排列5走势图我 写了这么多年的 js 才发现原来这么牛批啊
    wangxiaoaer
        7
    wangxiaoaer   9 天前 via Android
    需要铜币就真说啊
    renmu
        8
    renmu   9 天前 via Android
    讲个笑话,js 运行速度快
    oneisall8955
        9
    oneisall8955   9 天前
    好的知道了,调用 node 的 http 请求
    rockjike
        10
    rockjike   9 天前 via Android
    ??
    Xusually
        11
    Xusually   9 天前
    缓慢打出一个问号。。。。。。?
    ben1024
        12
    ben1024   9 天前
    创世主??
    jrtzxh020
        13
    jrtzxh020   9 天前 via iPhone
    ??????现在是 2020 年???
    ardour
        14
    ardour   9 天前
    看到这篇帖子排列5走势图我 还以为走错进了 CSDN
    KevinRed
        15
    KevinRed   9 天前
    @ironMan1995
    @gimp
    @rrfeng
    @zeromake
    @ayase252
    @Hilong
    @wangxiaoaer
    @renmu
    @oneisall8955
    @rockjike
    @Xusually
    @ben1024
    @jrtzxh020
    @ardour

    大佬们轻喷啊,小弟搞 Android 的,刚接触 nodejs
    起因是在 github 上发现了一个 js 项目,想用 php 调用,发现写成接口调不通,最后发现必须有浏览器支持,几番排列5走势图搜索 找到 nodejs,发现网上很少有介绍如何用 nodejs 调用普通 js 排列5走势图方法 的,才写的这个文章
    catch
        16
    catch   9 天前 via iPhone
    这种文章还是少写吧(像不懂计算机基础的小白),高质量的可以写
    tinkerer
        17
    tinkerer   9 天前
    总之,还是鼓励努力学习的
    xy90321
        18
    xy90321   9 天前 via iPhone
    JDK 8 开始支持的 nashorn 都已经快寿终正寝了…
    哦对了,排列5走势图你 不是 JDK…
    zy445566
        19
    zy445566   9 天前 via Android
    不仅仅,nodejs 还能做跨平台的 iOS 和 Android
    KevinRed
        20
    KevinRed   9 天前
    @zy445566 最近在看 ReactNative,js 确实挺牛的
    ardour
        21
    ardour   9 天前
    @KevinRed 排列5走势图我 是前端,排列5走势图我 以为学后端的基本都懂 node,最起码懂一点
    zhuzhibin
        22
    zhuzhibin   9 天前
    JS 🐂 🍺 !!!!!!!!!!!!!!! 1
    loading
        23
    loading   9 天前 via Android
    经过一番查找发现了 node 这个大杀器

    看到这句排列5走势图我 就知道后面不用看了。
    KevinRed
        24
    KevinRed   9 天前
    @loading 哈哈哈,博客里已经改了,连标题都改了 [后端远程调用原生 js 排列5走势图方法 实现方案]( http://www.wilan.top/index.php/Home/Index/article/aid/84])
    yafoo
        25
    yafoo   9 天前 via Android
    排列5走势图我 也是去年才接触了解 nodejs 。

    这个也不能算是后端远程调用 js,应该说是排列5走势图服务 器端运行 js 。
    grewer
        26
    grewer   9 天前
    不是... 排列5走势图我 以为是个用后端语言写的 js 解释器, 结果...
    ben1024
        27
    ben1024   9 天前
    @KevinRed
    PHP 内运行 JS,试试 PHP [V8 JS]( http://pecl.php.net/package/v8js)
    OHyn
        28
    OHyn   9 天前
    排列5走势图我 还以为是 java 写后端+在 linux 上跑一个浏览器+用 java 通过这个浏览器开某个页面,再调这个页面内的 js 排列5走势图方法 ,并获取返回值。。。。
    zhw2590582
        29
    zhw2590582   8 天前
    3G 网好快
    loliyu
        30
    loliyu   8 天前
    ?
    skymei
        31
    skymei   8 天前
    理解老哥学习到新知识的喜悦,加油
    blackmirror
        32
    blackmirror   8 天前
    排列5走势图我 还以为准备开个神贴,原来是 node
    onfuns
        33
    onfuns   8 天前
    看到标题排列5走势图我 想着要学习一下怎么在后端代码里跑前端代码,类似 jsbridge,结果进来 ????
    xyjincan
        34
    xyjincan   8 天前
    websocket 大概可以实现后端调用 web 端 js
    jigi330
        35
    jigi330   8 天前
    @loading 哈哈哈哈
    slert
        36
    slert   8 天前
    这里可能没人不知道 node,所以显得有点尴尬。
    siweipancc
        37
    siweipancc   5 天前 via iPhone
    老铁,加油,路还长着呢。
    不瞒排列5走势图你 说,前端还可以调用前端,后段可以调用后段呢(´-ω-`)
    排列5走势图关于   ·   FAQ   ·   API   ·   排列5走势图排列5走势图我 们 的愿景   ·   广告投放   ·   感谢   ·   实用小排列5走势图工具   ·   1095 人在线   最高记录 5168   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 22:53 · PVG 06:53 · LAX 15:53 · JFK 18:53
    ♥ Do have faith in what you're doing.