And*_*rew 12 jquery node.js electron
我最近开始尝试使用Electron制作桌面应用程序,并让Jquery在应用程序中工作.
我安装了以下软件包 NPM install package -save
节点包依赖项:
"electron-prebuilt": "^0.36.0",
"jquery": "^2.1.4",
"jquery-ui": "^1.10.5"
Run Code Online (Sandbox Code Playgroud)
我正在使用以下代码来运行Jquery和Jquery Ui
window.$ = window.jQuery = require('jQuery');
require("jquery-ui");
Run Code Online (Sandbox Code Playgroud)
问题: Jquery在应用程序中加载,但UI不是.
HTML EG:
<div id="bod">
text
</div>
<script>
$( "#bod" ).click(function(){
var div = $("<div></div>").load("./html/testDialogue.html" );
console.log( div );// jquery works like expected
$(this).dialog();// UI not apart of JQuery extensions.. or loaded at all
});
</script>
Run Code Online (Sandbox Code Playgroud)
对于像我这样尝试将 jQueryUI 全局加载到您的电子应用程序中的人来说,最好的方法不是安装 jquery-ui NPM 包,而是从 CDN 下载缩小的 jQueryUI 脚本,将其存储在本地放在资源文件夹中,并将其包含在索引中,直接位于声明全局 jQuery 变量的行下方和要在其中使用它的渲染器上方,如下所示:
<script>window.$ = window.jQuery = require('jquery');</script>
<script src="../assets/js/jquery-ui.min.js"></script>
<script src="render.js"></script>
Run Code Online (Sandbox Code Playgroud)
这将允许通过渲染脚本中的全局 jQuery 变量访问所有 jQueryUI 函数。
如果您希望您的库作为全局变量而不是 AMD 模块,您可以使用 Bower 安装依赖项,并将脚本添加到您的 index.html 文件中,就像在常规网站中一样。对于 Jquery,您仍然需要需要它并声明全局变量,因为 Jquery 会检测正在运行的上下文。
// Expose jQuery and $ identifiers, even in
// AMD (#7102#comment:10, https://github.com/jquery/jquery/pull/557)
// and CommonJS for browser emulators (#13566)
if ( typeof noGlobal === strundefined ) {
window.jQuery = window.$ = jQuery;
}
Run Code Online (Sandbox Code Playgroud)
但对于 JqueryUI,我建议将其安装为全局。JqueryUI 是否也可能检测上下文。如果是这种情况,它应该推断没有要附加的全局变量。这里他们说如何将其用作AMD模块。
https://learn.jquery.com/jquery-ui/environments/amd/
| 归档时间: |
|
| 查看次数: |
4936 次 |
| 最近记录: |