2016-08-17 4 views
5

に外部ファイルからES6クラスを含め、私はファイルclass.js持っていると言う:は、Node.jsの

class myClass { 
    constructor(arg){ 
     console.log(arg); 
    } 
} 

をそして、私は別のファイルにmyClassクラスを使用していました。私はこれについてどうやって行くのですか?
私は試しました:
var myClass = require('./class.js');
しかし、それは動作しませんでした。
module.exportsを見ましたが、es6クラスで動作するサンプルが見つかりませんでした。

答えて

13

どちらか

var a = require("./class.js"); 
new a("fooBar"); 

またはやや新しい構文を使用して

module.exports = class MyClass { 
    constructor(arg){ 
     console.log(arg); 
    } 
}; 

とインポートをします(最初にあなたのコードをbabelifyする必要があります)

export class MyClass { 
    constructor(arg){ 
     console.log(arg); 
    } 
}; 

とインポート

import {myClass} from "./class.js"; 
1
export default class myClass { 
    constructor(arg){ 
     console.log(arg); 
    } 
} 

その他のファイル:

import myClass from './myFile'; 
+0

これは私のために動作しません。私はノードの古いバージョンがあると思う。 –

+0

@BaldBanthaこれは新しいES6構文であるため、ノードを実行できるようにES6からES5に移行するためにbabelを使用する必要があります。ノードは 'import' /' export'をサポートせず、決して(近い将来に) – Downgoat