为啥我不能设置 Jquery 的属性并在 Electron 中得到未定义的答案

Posted

技术标签:

【中文标题】为啥我不能设置 Jquery 的属性并在 Electron 中得到未定义的答案【英文标题】:Why can't I set the property of Jquery and get a undefined answer in Electron为什么我不能设置 Jquery 的属性并在 Electron 中得到未定义的答案 【发布时间】:2018-03-28 18:11:11 【问题描述】:

我目前正在使用 javascript 开发一个电子应用程序,我想在我的电子应用程序中使用 JQuery,我已经添加了教程中指出的代码ourcodeworld.com。我还安装了 JQuery,执行以下操作 NPM I Jquery --save 我还在我的代码中添加了 win.$ = win.jQuery = require('jquery'); 但是,我收到了 can not set property 'Jquery' of undefined 错误。我将如何消除此错误?

  const electron = require('electron')
// Module to control application life.
const app = electron.app
// Module to create native browser window.
const BrowserWindow = electron.BrowserWindow
const windowStateKeeper = require('electron-window-state');
const Menu = electron.Menu;

let win;


app.on('ready', function() 
    win.$ = win.jQuery = require('jquery');
    win = new BrowserWindow( width: 1000, height: 800,  resizable:false )
    win.loadURL('file://./slider.html')
    console.log();
    const menuTemplate = [
        
            label: 'Quit',
            click: () => 
                app.quit();
            
        
    ];
    const menu = Menu.buildFromTemplate(menuTemplate);
    Menu.setApplicationMenu(menu);
);

【问题讨论】:

你也试过这个吗?= @ÁlvaroTouzón 是的,我已经在我的代码中声明了它以及答案中建议的修复程序,每次我在电子应用程序中加载slider.html时都会得到这个,在我的谷歌浏览器中加载美好的。 Image 看看@Suren 的回复 【参考方案1】:

你刚刚声明了你的变量,但还没有初始化。使用object 对其进行初始化,然后您可以为其添加属性。

let win = ;

win.jQuery = 'Test';

【讨论】:

win 似乎预先定义了电子的全局对象 他重新声明,是的,有理由,退出否定,。对不起 @Suren Srapyan 这修复了未定义的错误,但现在 jquery 根本没有像我告诉 Alvaro 的那样加载,我每次都在这个 image 中得到这个,应该加载的是一个 jquery 库滑块称为惊人的滑块。如有必要,我可以为此打开一个附加问题 我认为问题上下文与此不同。您需要创建另一个问题【参考方案2】:

我的电子应用面临同样的问题,

对我来说,它的工作方式如下。

<script>if (typeof module === 'object') window.module = module; module = undefined;</script>
    <script src="./../UIControllers/jquery.min.js"></script>
    <script src="./../UIControllers/jquery-ui.min.js"></script>
    <script>if (window.module) module = window.module;</script>

【讨论】:

以上是关于为啥我不能设置 Jquery 的属性并在 Electron 中得到未定义的答案的主要内容,如果未能解决你的问题,请参考以下文章

为啥我不能为超过 jquery 1.4.4 的 backgroundPosition 设置动画?

为啥我不能在 foreach 循环中设置迭代变量的属性?

为啥我不能指定环境变量并在同一命令行中回显它?

在 Python 中,为啥我不能为 str 类设置属性? [复制]

为啥我在设置中收到“'Bars' 不能用作实体类型 'Foo' 的属性”?

为啥 jQuery 不选择所有属性元素?