jquery在node-webkit上运行不正常

时间:2017-06-08 03:33:21

标签: javascript jquery node.js node-webkit

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

我使用npm install jquery

安装了jquery

的index.html

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

main.js

// main.js
const $ = require('jquery')

$(document).ready(function () {
  $('#demo').click(function () {
    $(this).text($(this).text() + 'Hi! ')
  })
})

如果我在index.html <script src="path/to/jquery.js"></script>中加载jquery,那么效果很好,但如果我在main.js中需要jquery则不行!

我已经测试过了:

  • main.js正确包含并使用原生js方法(例如document.getElementById('demo').onclick = ...
  • 其他节点模块或库,例如vuelodashfsurl之类的本机,效果很好。所以要求功能很好。
  • 虽然我上面要求jquery,但内联<script>也不行。

我也意识到$(document).ready(...)有效!但真正的问题是$('#demo')未定义! (我检查了控制台 - 我使用的是node-webkit的SDK版本)

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

1 个答案:

答案 0 :(得分:0)

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

let pulsingIcon = (L as any).icon.pulse({iconSize:[20,20],color:'red'});

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

所以,如果我这样定义它,我可以随处使用