js需要依赖浏览器运行,如果使用接口远程调用原生js方法不能实现,经过一番查找发现可以使用nodejs


下面就来介绍一下如何用后端调用原生js方法获取返回值


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



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


这一步需要安装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



接下来就可以改造方法了



设有个js文件


//helloNodejs.js

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


我们对它稍微改造,让能被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文件中仅有一个方法,如果有多个看下面


//方案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);


个人网站运营不易ヾ(◍°∇°◍)ノ゙如果有帮到你赞助一下吧

Kevin博客
  • 最新评论
  • 总共0条评论