jquery在node-webkit上不能很好地工作



我正在练习node-webkit作为nodejs初学者。
我的主页是一个简单的html页面,包括一个main.js脚本

我已经使用 npm install jquery 安装了 jquery

索引.html

<!-- index.html -->
...
<script src="js/main.js"></script>
</head>
<body>
<div id="demo">Hi! </div>
</body>
</html>

主.js

// main.js
const $ = require('jquery')
$(document).ready(function () {
  $('#demo').click(function () {
    $(this).text($(this).text() + 'Hi! ')
  })
})

如果我像<script src="path/to/jquery.js"></script>一样在我的index.html中加载 jquery,它运行良好,但如果我需要 jquery 在我的main.js它就没有了!

我已经测试过:

  • main.js正确地包含和使用本机 js 方法(如 document.getElementById('demo').onclick = ... (
  • 其他节点模块或库,如vuelodash或原生fsurl运行良好。所以要求功能工作得很好。
  • 虽然我需要如上所述的jquery,但内联<script>也不起作用。

我也意识到$(document).ready(...)有效!但真正的问题是$('#demo')是不确定的!(我检查了控制台-我使用的是节点网络套件的SDK版本(

我不知道是因为node-webkit还是我缺少的其他东西?

找到了解决方案,我应该像这样定义jquery:

window.$ = window.jQuery = require('jquery')

这仅仅是因为 ECMAS 中的可变范围

所以如果我这样定义它,我可以在任何地方使用它

相关内容

最新更新