javascript - 从JavaScript加载外部JavaScript库/脚本

标签 javascript jquery node.js compiler-errors

我正在尝试使用JavaScript/Node.js构建控制台应用程序,以下script.js在编译时会抛出ReferenceError: $ is not defined:

//user input from command line
var readline = require('readline');

var rl = readline.createInterface({
 input: process.stdin,
 output: process.stdout
});

rl.question("Would you like to see which Car Types are available? Please type yes/no ", function(answer) {
// if yes, print search results to console in descending price order 
if (answer === 'yes'){

var results= "";
$.getJSON("https://techtest.rideways.com/dave/?pickup=3.410632,-2.157533&dropoff=3.410632,-2.157533", function(data){
results = JSON.parse(data);
}); 

console.log("The following Car Types are available:", results.options['car_type'], " - ", results.options['price']);
}else{
console.log("No worries, have a nice day!");
}
rl.close();
});

如这篇文章所示; ReferenceError: $ is not defined我希望它是因为缺少JS库。

有没有一种方法可以在我的script.js中调用JS库而不创建单独的HTML文件?由于我没有构建前端Web应用程序,因此看不到创建HTML文件的意义吗?

最佳答案

$看起来像是来自某些jQuery代码的复制/粘贴。代替jQuery,axios将在Node和浏览器中完成工作。 axios 是带有Promise的http请求库。首先,将包添加到项目:$ npm i -s axios

获取请求示例:(run it on repl.it)

const axios = require('axios');

main();

function main() {
  return exampleRequest().then(renderResponseData)
}

function exampleRequest() {
  const url = 'https://techtest.rideways.com/dave/?pickup=3.410632,-2.157533&dropoff=3.410632,-2.157533';

  return axios.get(url)
}

function renderResponseData(response) {
  console.log(response.data)
}

关于javascript - 从JavaScript加载外部JavaScript库/脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52687868/

相关文章:

javascript - golang 模板中的 src 属性

javascript - 重复 jquery 单击激活的动画功能

javascript - 只允许将事件保存到全日历中的特定月份

node.js - 查找数组中某个位置的元素的最大值

javascript - 函数中的服务器变量

javascript - 为什么这个 promise 链没有按顺序返回?

javascript - 在 requirejs 中返回 Backbone 集合的标准方法

javascript - 如何使用 javascript 滚动 iFrame

javascript - 当点击发生在指定元素之外时如何执行操作

javascript - 在终端中产生动画打字效果