在Electron中需要和扩展类,如何?

时间:2015-07-16 22:41:45

标签: javascript requirejs electron

我有一个包含

的文件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我可以看到它运行,那么该文件就变得必需,只是该类不可用或者其他什么

1 个答案:

答案 0 :(得分:1)

欢迎来到模块世界!

首先,在main.js文件的内部,在顶部添加一行代码:

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

然后在npmMain.js结束时添加如下所示的行:

exports.Global = Global;

然后从index.html删除该行。应该这样做。

我猜你不熟悉CommonJS样式模块。模块不共享全局变量。在使用之前,需要一切(除了commonJS实现提供的一些属性之外)。此外,如果要在模块之间公开值,则需要使用exports关键字。

有关CommonJS site的详细解释。