簡體   English   中英

在Electron中需要和擴展類,怎么辦?

[英]Require and extend classes in Electron, how to?

我有一個文件global.js包含

var Global = (function () {
    function Global() {
        this.greeting = 'test';
    }

    Global.prototype.getList = function () {
        return "Hello, " + this.greeting;
    };
    return Global;
})();

還有另一個文件“ main.js”,其中包含

var global= new Global();

console.log(global.getList);

然后我在index.html中要求它們

...
<script>
    require('./npmMain.js');
    require('./main.js');
</script>

Global is not defined

我如何使該類可用於main.js?

有任何想法嗎?

編輯:如果我console.log('test'); npmMain.js里面,我可以看到它正在運行,因此該文件變得必需了,只是該類不可用或其他原因

歡迎來到模塊世界!

首先,在main.js文件中,在頂部添加一行,如下所示:

var Global = require('./npmMain.js').Global;

然后在npmMain.js的末尾添加如下一行:

exports.Global = Global;

然后從index.html刪除該行。 那應該做。

我猜您對CommonJS樣式模塊不熟悉。 模塊不共享全局變量。 在使用之前,需要所有內容(由commonJS實現提供的一些屬性除外)。 另外,如果要在模塊之間公開值,則需要使用exports關鍵字。

CommonJS網站上有更詳細的解釋。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM