美元没有定义

时间:2016-10-27 17:48:04

标签: javascript electron

我创建了一个简单的网站和相应的javascript文件。当我在任何浏览器中打开网站时,它工作正常。脚本被执行并且没有错误。

然后我尝试使用Electron将我的网站转换为网络应用程序。现在我没有改变任何东西,只添加了一个package.json和一个main.js文件,如Electron的入门指南中所述。

打开应用程序时,我可以看到我的网站。但是也出现了一个错误:

  

ReferenceError:$未定义

这来自我的javascript文件:

$(document).ready(function() {
  setInterval(doStuff, INTERVAL_MS);
});

所以我的问题是: 当我直接在浏览器中运行网站时,为什么此代码有效? 当我通过Electron运行它时出现错误的原因?

PS: 这就是我的index.html的头像。正如你所看到的那样包含了jQuery。

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

    <!-- Style sheets -->
    <link rel="stylesheet" href="style.css" />

    <!-- External libraries -->
    <script type="text/javascript" src="js/libs/jquery-2.2.0.min.js"></script>
    <script type="text/javascript" src="js/libs/knockout-3.4.0.js"></script>

    <!-- Internal scripts -->
    <script type="text/javascript" src="js/globals.js"></script>
    <script type="text/javascript" src="js/viewModel.js"></script>
    <script type="text/javascript" src="js/util.js"></script>
    <script type="text/javascript" src="js/dummyDataProvider.js"></script>
    <script type="text/javascript" src="js/switcher.js"></script>
    <script type="text/javascript" src="js/main.js"></script>
</head>

1 个答案:

答案 0 :(得分:0)

使用以下脚本附加您的index.html,并确保路径适用于您的案例:

<script>
window.$ = window.jQuery = require('./js/libs/jquery-2.2.0.min.js');
</script>