简体   繁体   English

获取模块ES6

[英]Getting a module ES6

I have a class (module) in another js file in the same folder which looks like this. 我在同一个文件夹的另一个js文件中有一个类(模块),看起来像这样。

class MessageModule{

constructor(){

}

sayHello(){
    alert('Hello from msg');
}

}

 module.exports = MessageModule;

However, I am not able to require it in the main js file. 但是,我不能在主要js文件中要求它。

let $ = require('jquery');
global.jQuery = $;
let bootstrap = require('bootstrap');
let messageModule = require('message');


messageModule.sayHello();

How should I go about exporting this, or any class? 我应该如何导出该类或任何类?

Thank you. 谢谢。

You are exporting the class definition. 您正在导出类定义。 You'll need to create an instance to reach any non-static method there. 您将需要创建一个实例以到达那里的任何非静态方法。 Static methods can be reached from the class object. 可以从类对象访问静态方法。

So, it's either: 因此,它是:

class MessageModule{

    constructor(){

    }

    static sayHello(){
        alert('Hello from msg');
    }

}

module.exports = MessageModule;

Or: 要么:

let $ = require('jquery');
global.jQuery = $;
let bootstrap = require('bootstrap');
let messageModule = require('message')();


messageModule.sayHello();
export class MessageModule {
    constructor() {

    }

    sayHello() {
        alert('hello from msg')
    }
}

Call that class in another page: 在另一个页面中调用该类:

<script>
    import {Message} from "/scripts/message.js";

    var message = new Message();
    message.sayHello();

    // or

    //import {MessageModule} from "/scripts/message.js";

    //var message = new MessageModule();
    //message.sayHello();
</script>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM