我创建了一个简单的网站和相应的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>
答案 0 :(得分:0)
使用以下脚本附加您的index.html
,并确保路径适用于您的案例:
<script>
window.$ = window.jQuery = require('./js/libs/jquery-2.2.0.min.js');
</script>