もっく日記

書いておぼえるためのブログ

importとrequireどちらを使おう…。

node.jsをよく知らなかったもので、 babelでes2015をビルドしてるとimportもrequireも使えて、何が違うのやら?となったのでメモ。

結論

requireは「node.js」の書き方で、importは「es2015」から使えるようになった書き方ということみたいです。

せっかくなので、新しく使えるようになったimportの書き方に慣れてみようかと思います。

参考

Rubyist Magazine - 2015 年の JavaScript と babel の話(モジュール化)

importとrequireの書き方

importの書き方

import 'クラス名' from 'ファイル指定'で読み込んで、 export default class 'クラス名' {}で設定。

//読み込み側
import Klass from './Klass'; //クラスの読み込み
const klass = new Klass(); //クラスの実行
//Klass.js
export default class Klass {
  constructor () {
    this.hoge();
  }

  hoge () {
    console.log("実行されました")
  }
}

requireの書き方

require('ファイル指定')で読み込んで、 module.exports = class 'クラス名' {}で設定。

//読み込み側
const Klass = require('./Klass');//クラスの読み込み
const klass = new Klass(); //クラスの実行
//Klass.js
module.exports = class Klass {
  constructor () {
    this.hoge();
  }

  hoge () {
    console.log("実行されました")
  }
}