jquery 在 node-webkit 上运行不佳
jquery not working well on 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
中加载 jquery 就像 <script src="path/to/jquery.js"></script>
它工作得很好,但是如果我在我的 main.js
中需要 jquery 它就不行!
我已经测试过:
main.js
正确包含并使用原生 js 方法(如 document.getElementById('demo').onclick = ...
)
- 其他节点模块或库,如
vue
、lodash
或本机,如 fs
、url
运行良好。所以 require 函数效果很好。
- 虽然我要求 jquery 如上所述,但内联
<script>
s 也不起作用。
我也意识到 $(document).ready(...)
有效!但真正的问题是 $('#demo')
是未定义的! (我检查了控制台-我使用的是 node-webkit 的 SDK 版本)
我不知道是因为 node-webkit 还是我缺少的其他东西?
找到解决方案,
我应该这样定义 jquery:
window.$ = window.jQuery = require('jquery')
这仅仅是因为 ECMAS
中的变量作用域
所以如果我这样定义它,我就可以在任何地方使用它
我正在练习 node-webkit 作为 nodejs 初学者。
我的主页是一个简单的 html
页面,包括一个 main.js
脚本
我使用 npm install 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
中加载 jquery 就像 <script src="path/to/jquery.js"></script>
它工作得很好,但是如果我在我的 main.js
中需要 jquery 它就不行!
我已经测试过:
main.js
正确包含并使用原生 js 方法(如document.getElementById('demo').onclick = ...
)- 其他节点模块或库,如
vue
、lodash
或本机,如fs
、url
运行良好。所以 require 函数效果很好。 - 虽然我要求 jquery 如上所述,但内联
<script>
s 也不起作用。
我也意识到 $(document).ready(...)
有效!但真正的问题是 $('#demo')
是未定义的! (我检查了控制台-我使用的是 node-webkit 的 SDK 版本)
我不知道是因为 node-webkit 还是我缺少的其他东西?
找到解决方案, 我应该这样定义 jquery:
window.$ = window.jQuery = require('jquery')
这仅仅是因为 ECMAS
中的变量作用域所以如果我这样定义它,我就可以在任何地方使用它