我在文件login
中定义了一个函数index.js
:
function login(un, pass){
....
}
在我的index.html
中,我有:
<head>
<title>Title</title>
<script src="index.js"></script>
</head>
<body>
....
<script>
....
login("user", "pass");
</script>
....
</body>
但这在控制台中给了我以下错误:
未捕获的ReferenceError:未定义登录名
index.html
和index.js
都在同一文件夹中。我在这里想念什么?
我错过的一个关键细节是我使用Flask服务器托管它。经过一番研究,我意识到js
文件必须位于名为static
的文件夹中。
答案 0 :(得分:3)
更好的做法是,在EcmaScript 6中实现此目的的另一种方法是简单地定义函数并将其'export'作为模块。然后,您可以'import'来自另一个Javascript文件或HTML标记中的模块,如下所示,以确保文件的路径准确无误:
./ src / index.js:
var login = function (user, pass) { ... }
export { login };
index.html:
<script>
import login from './src/index'
...
login ("user", "pass");
...
</script>
答案 1 :(得分:0)
检查“ index.js”的文件权限,可能无法访问?
也可以尝试将其称为
<script src="../yourFolder/index.js"></script>