использовать класс из другого класса, который в другом файле в ES6 - PullRequest
0 голосов
/ 27 мая 2018

Я пытаюсь использовать ES6 в проекте, который ранее был написан в es5

требование:

У меня есть class Abc в file1.js и классе Def в file2.js, как я могу создать экземпляр класса Abc из Def в javascript ES6 и использовать его методы?

пример демонстрации: file1.js

class first{
constructor(a,b,c){
    this.a = a;
    this.b = b;
    this.c = c;
}
}

file 2.js

import * as filee from  "/file1.js"
class def{
  method3(){
    let a = "satya";
    let b = "aditya";
    let c = function () {
        console.log("cr7");
    }
  let classs = new filee.first(a,b,c);
     classs.myMethod();
}
}
let a = new def();
a.method3();

было бы очень полезно, если бы кто-нибудь поделился хорошими ресурсами на ES6, так как я видел такие сайты, как mdn, но хотел бы прочитать статьи, посвященные хорошим примерам использования

Ответы [ 2 ]

0 голосов
/ 27 мая 2018

Отсутствует экспортная декларация:

export class first { /*
^^^^^^ */
    …
}
0 голосов
/ 27 мая 2018

Если вы хотите импортировать что-то в один файл, вам придется экспортировать это в другой файл.

В вашем file1.js добавьте следующий код:

// vvv
export class first{
  constructor(a,b,c){
    this.a = a;
    this.b = b;
    this.c = c;
  }
}

Если у вас есть несколько классов в этом файле, вы также можете экспортировать их, как в примере выше:

export class first{
  constructor(a,b,c){
    this.a = a;
    this.b = b;
    this.c = c;
  }
}

export class second{
  constructor(a,b,c){
    this.a = a;
    this.b = b;
    this.c = c;
  }
}

и затем импортируйте их следующим образом в file2.js:

import {first, second} from  "/file1.js"
...