我正在使用 NWS(国家气象服务)API、Google JavaScript Library API、Google Places API 和 Google Geocoding API 仅使用前端(HTML、CSS 和 JavaScript)创建天气应用程序。我创建了两个异步函数
getCoordinates(region)
和 getWeatherData(latitude, longitude)
整个程序无需导入和导出即可运行。但是,当我尝试导入和导出函数时,它不起作用。我收到一条错误消息
未捕获(承诺中)InvalidValueError...
使用 Google JavaScript API 库,我将其加载到 /html 文件中,并在 URL 中使用
loading=async
。不过,没有导入和导出我没有问题。
在.html文件中,我从
更改为<script type="type/javascript" src="index.js"></script>
到
<script type="module" src="index.js"></script>
我没有更改作为异步延迟 .js 文件加载的 Google JavaScript URL,作为正文标记完成之前的最后一行。
在 index.js 中导入:
import getCoordinates from './location.js';
import { getWeatherData } from './weather.js';
在 location.js 中导出:
export default async function getDefault(region) { //code here }
在 weather.js
中导出export async function getWeatherData(latitude, longitude) { //code here }
首先将简单函数设为箭头函数
export const getDefault = async (region) => {
// Your code here
} 和
export const getWeatherData = async (latitude, longitude) => {
// Your code here
}
如果 getDefault 和 getWeatherData 不是各自文件的默认导出,则在导入它们时应使用花括号。
import { getDefault } from "your file path";
import { getWeatherData } from "your file path";
但是,如果这些函数是默认导出,则您将在不使用大括号的情况下导入它们:
import getDefault from "your file path";
import getWeatherData from "your file path";
希望这对您有帮助。