I am trying to make use of a newly create Node.JS module but I am getting an error saying: "Is not a function"
.
lib/weather.mjs
My module's code is below:
// Gets the weather of a given location
import fetch from 'node-fetch';
var latLongAirports = [{
"name": "Madrid",
"iata": "MAD",
"lat": 40.49565434242003,
"long": -3.574541319609411,
},{
"name": "Los Angeles",
"iata": "LAX",
"lat": 33.93771087455066,
"long": -118.4007447751959,
},{
"name": "Mexico City",
"iata": "MEX",
"lat": 19.437281814699613,
"long": -99.06588831304731,}]
export default function getTemperature (iata){
async (dispatch) =>{
let data = latLongAirports.find(el => el.iata === iata);
var url = "http://www.7timer.info/bin/api.pl?lon=" + data.long + "&lat=" + data.lat + "&product=astro&output=json"
const response = await fetch(url);
const myJson = await response.json();
return myJson.dataseries[0].temp2m
}
}
And this is how I am trying to use it from my main.js
import weather from './lib/weather.mjs'
var temperature = weather.getTemperature("MEX")
What am I doing wrong here? How should I declare and use self written modules like those?
Thank you!
weather.mjs
is exporting the function. So what you get in main.js
is the actual function.
In your main.js
you should call the exported method like
import getTemperature from './lib/weather.mjs'
var temperature = getTemperature("MEX")
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.