导出时,获取导出声明可能仅出现在JavaScript模块的顶层

导出时,获取导出声明可能仅出现在JavaScript模块的顶层,javascript,ecmascript-2020,Javascript,Ecmascript 2020,无论我把export语句放在哪里,我都会得到相同的错误 导出声明只能出现在模块的顶层 我曾尝试将type=“module”添加到脚本标记中,但没有效果,我正在尝试避免它 JS: export { LogTypes, DateTypes, GetTypes, get, show, hide } from ...; const LogTypes = { Default: "DEFAULT", Info: "INFO", Warn: &

无论我把export语句放在哪里,我都会得到相同的错误

导出声明只能出现在模块的顶层

我曾尝试将type=“module”添加到脚本标记中,但没有效果,我正在尝试避免它

JS

export { LogTypes, DateTypes, GetTypes, get, show, hide } from ...;

const LogTypes = {
    Default: "DEFAULT",
    Info: "INFO",
    Warn: "WARN",
    Error: "ERROR"
};

const DateTypes = {
    Current: "CURRENT",
    Log: "LOG",
    Short: "SHORT",
    Long: "LONG"
};

const GetTypes = {
    Name: "NAME",
    Id: "ID",
    Tag: "TAG", 
    Query: "QUERY",
    QueryAll: "QUERYALL"
};

...

当包含JavaScript文件并允许在CORS上连接时,我发现了这一点

JS:

HTML:


导出内容的模块不应该有
标记

导入这些内容的脚本需要一个
标记来加载它


import
语句导致浏览器请求模块的URL并加载它,而不是单独的
标记。

日志类型
日期类型
,和
GetTypes
在使用
导出
的同一模块中声明。为什么您使用
from
关键字,就好像您从其他地方获取它们一样?顺便说一下,
export。。。来自相当于
导入。。。从…起出口,导入只能出现在模块顶部。@GhassenLouhaichi正在尝试我能做的任何事情。现在我尝试导入为模块我已经删除了所有的导出语句,因为我真的不需要它们明白了什么?
// log types
export const LogTypes = {
    Default: "DEFAULT",
    Info: "INFO",
    Warn: "WARN",
    Error: "ERROR"
};

// date types
export const DateTypes = {
    Current: "CURRENT",
    Log: "LOG",
    Short: "SHORT",
    Long: "LONG"
};

// supported types by the get function
export const GetTypes = {
    Name: "NAME",
    Id: "ID",
    Tag: "TAG", 
    Query: "QUERY",
    QueryAll: "QUERYALL"
};

// gets elements based on type and elm value
export const get = (type, elm) => {
    let result = null;

    switch (upper(type)) {
        case GetTypes.Name:
            result = document.getElementsByName(elm);
            break;

        case GetTypes.Id:
            result = document.getElementById(elm);
            break;

        case GetTypes.Tag:
            result = document.getElementsByTagName(elm);
            break;

        case GetTypes.Query:
            result = document.querySelector(elm).elements;
            break;

        case GetTypes.QueryAll:
            result = document.querySelectorAll(elm);
            break;

        default:
            throw new Error(type + " not supported");
    }

    return result;
};
<script src="/SCRIPT/Creator.js"></script>