我尝试遵循这篇文章的建议,并尝试使用以下代码使用JS模块导入。
总之,我正在尝试将类从j.js
类导入到f.js
类中,并在该类的实例上调用函数。
我只是不断收到以下错误。所有文件都位于同一目录中。
Uncaught SyntaxError: import declarations may only appear at top level of a module
Module source URI is not allowed in this document: “file:///C:/Users/thedr/grade-calc/nuncio/j.js”.
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at file:///C:/Users/thedr/grade-calc/nuncio/j.js. (Reason: CORS request not http).
.HTML
<html>
<body>
<script>
function f() {
alert("IT WORKS")
}
</script>
<script src="f.js"></script>
<script src="j.js" type="module"></script>
</body>
</html>
F.js
import Fudge from "./j.js"
test = new Fudge();
test.attack();
J.js
export default class Fudge {
constructor() {}
attack() {
f();
}
}
要使其正常工作,您需要做的就是将这两个JS文件标记为index.html
文件中的模块,它将正常工作。
<html>
<body>
<script>
function f() {
alert("IT WORKS")
}
</script>
<script src="f.js" type="module"></script>
<script src="j.js" type="module"></script>
</body>