代码之家  ›  专栏  ›  技术社区  ›  Susmit Agrawal Sudip Bolakhe

无法调用在单独文件中定义的函数

  •  2
  • Susmit Agrawal Sudip Bolakhe  · 技术社区  · 6 年前

    我有个功能 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>
    

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

    未捕获的引用错误:未定义登录名

    两者 index.html索引 索引.js 在同一个文件夹中。我错过了什么?

    编辑

    我漏掉了一个关键的细节,那就是我是用一个Flask服务器托管的。经过一番研究,我意识到 js 文件必须位于名为 static .

    2 回复  |  直到 6 年前
        1
  •  3
  •   Dalton Whyte    6 年前

    作为一个更好的实践,在EcmaScript 6中实现这一点的另一种方法是简单地定义函数和 'export' 作为一个模块。那你可以 'import' 来自另一个Javascript文件或HTML标记中的模块,如下所示,确保文件路径正确:

    ./src/索引.js:

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

    index.html:

    <script>
        import login from './src/index'
        ...
        login ("user", "pass");
        ...
    </script>
    
        2
  •  0
  •   Lev Buchel    6 年前

    检查“index.js”的文件权限是否不可访问?

    也试着把它称为

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