繁体   English   中英

无法调用在单独文件中定义的功能

[英]Unable to call function defined in a separate file

我在文件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>

但这在控制台中给了我以下错误:

未捕获的ReferenceError:未定义登录

index.htmlindex.js都在同一文件夹中。 我在这里想念什么?

编辑

我错过的一个关键细节是我使用Flask服务器托管它。 经过研究,我意识到js文件必须位于名为static的文件夹中。

作为更好的实践,在EcmaScript 6中实现此目的的另一种方法是简单地定义函数并将其“导出”为模块。 然后,您可以从另一个Javascript文件或HTML标记中“导入”模块,如下所示,以确保文件路径正确:

./src/index.js:

var login = function (user, pass) { ... }

export { login };

index.html的:

<script>
    import login from './src/index'
    ...
    login ("user", "pass");
    ...
</script>

检查“ index.js”的文件权限,可能无法访问?

也可以尝试将其称为

<script src="../yourFolder/index.js"></script>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM