我在文件 index.js
中定义了一个函数 login
:
function login(un, pass){
....
}
在我的 index.html
中,我有:
<head>
<title>Title</title>
<script src="index.js"></script>
</head>
<body>
....
<script>
....
login("user", "pass");
</script>
....
</body>
但这在控制台中给出了以下错误:
Uncaught ReferenceError: login is not defined
index.html
和 index.js
都位于同一文件夹中。我在这里缺少什么?
编辑
我错过的一个关键细节是我使用 Flask 服务器托管它。经过一番研究,我意识到 js
文件必须位于名为 static
的文件夹中。
最佳答案
作为更好的实践,在 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>
关于javascript - 无法调用在单独文件中定义的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52686682/