【发布时间】:2019-02-07 22:10:44
【问题描述】:
好的,我查看了这个网站并找到了几个不同的答案,但没有一个对我有用。 基本上有一个 js 文件,其中包含许多功能以及应用程序的主要代码。我想将我所有的函数移动到另一个 js 文件中,以便我可以稍微清理一下我的代码。我对 js 很陌生,但我知道在 python 中它就像说“import (module) as (nickname) from (path)”一样简单
无论如何,假设我的 functions.js 模块中有一个名为 show message 的函数。
export function show_message(){
alert("Hello");
}
然后我在我的 main.js 文件的顶部做了
import { show_message } from './functions.js'
//I have also tried to import like this:
import * as func from './functions.js'
//And then I call it
show_message();
//I have also tried
func.show_message();
我知道这很简单,但正如我所说的,我到处都看到了不同的答案,但没有一个对我有用。我正在使用 Firefox 顺便说一句。我还在控制台中收到一个错误,说我的导入声明需要在我的模块的顶部,我通过在我的 HTML 链接中指定类型(脚本 src="/static/main.js" type="模块”) 错误消失了,但现在说“同源策略不允许读取文件(路径)处的远程资源(原因:cors 请求不是 HTTP)。”
另一个错误是“此文档中不允许模块源 URI”。
这让我觉得我的导入语法可能是正确的,而错误在我的 HTML 代码中?
感谢任何帮助。
【问题讨论】:
-
我知道这是一个老问题,但对于其他搜索的人来说:这个资源有帮助吗?不确定您尝试过哪些方法stackoverflow.com/questions/5797852/…
-
你试过
func.show_message();吗?鉴于您使用的是import * as func from './functions.js' -
这是一个 CORS 相对路径问题,不是导入问题。
-
纯 JavaScript 中没有“导入”和“导出”之类的东西。如果您正在使用其他库,请添加其他标签。
-
stackoverflow.com/a/950146/1675954 就错误而言。模块源被禁止,禁用/卸载你的扩展
标签: javascript module cors cross-domain