Javascript 模块在浏览器中不起作用? [英] Javascript module not working in browser?
本文介绍了Javascript 模块在浏览器中不起作用?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
好吧,我查看了这个网站并找到了几个不同的答案,但没有一个对我有用.基本上有一个 js 文件,其中包含许多功能以及应用程序的主要代码.我想将我的所有函数移动到另一个 js 文件,以便我可以稍微清理我的代码.我对js相当陌生,但我知道在python中它就像说从(路径)导入(模块)作为(昵称)"一样简单
无论如何,假设我的 functions.js 模块中有一个名为 show message 的函数.
导出函数 show_message(){警报(你好");}
然后我在 main.js 文件的顶部我做了
import { show_message } from './functions.js'//我也试过这样导入:import * as func from './functions.js'//然后我调用它显示消息();//我也试过func.show_message();
我知道这很简单,但正如我所说的,我所看到的所有地方都看到了不同的答案,但没有一个对我有用.顺便说一句,我正在使用 Firefox.我也在控制台中收到一个错误,说我的导入声明需要在我的模块的顶部,我通过在我的 HTML 链接中指定类型来解决这个问题(script src="/static/main.js" type="模块")错误消失了,但现在说同源策略不允许读取文件(路径)中的远程资源(原因:cors 请求不是 HTTP)."
另一个错误是本文档中不允许使用模块源 URI".
这让我觉得我的导入语法可能是正确的,而错误出在我的 HTML 代码中?
感谢任何帮助.
解决方案
0.简短的回答
您需要安装并运行本地 Web 服务器.- 有关如何的建议,继续阅读.
1.基础知识
我尝试了一个简单的 HTML 文件——index.html
——如下:
<!-- index.html - 保持简单的最小 HTML --><头><元字符集=UTF-8"><link rel="快捷方式图标";href=#">头部><身体><h1>你好世界!</h1><p>使用 JavaScript 模块进行实验.</p><脚本类型=模块"src=js/functions.js"></script>