タグ

2018年10月18日のブックマーク (2件)

  • JavaScriptのDecoratorsでDependency Injectionの実例

    JavaScript Decoratorsについて Decorators文法を使うことでクラスの内部実装を変更することなく、クラス変数やクラスメソッドを外部から拡張・上書きすることができます。 これはJavaなどでいうDI(Dependency Injection)に該当します。 babel-plugin-transform-decorators-legacyを使うことでDecoratorsを変換してくれます。 yarnインストール済み前提で、 下記コマンドでbabel-plugin-transform-decorators-legacyをインストールします。 // 対象のクラス @isTestable(true) class MyClass { @log('メソッドコール1') test1() { console.log('test1') } @log('メソッドコール2') test2

    JavaScriptのDecoratorsでDependency Injectionの実例
  • # CommonJS と ES6の import/export で迷うなら - Qiita

    はじめに いつもはes6のモジュール管理方式であるimport/export(ES modules)を使って、npmで手に入れたライブラリや自分で作成したモジュールをロードしているが、たまに思った挙動にならないことがある。また、export defaultしたモジュールをテストしようとしてkarmaでrequire()するとエラーになったりした。そういう場合は、とりあえずmodule.exportsを使ってみるとうまくいったりすることが多いのだが、なぜなのかはあまり考えていなかった。 ということで、実際にはどうなっているのか、またモジュールシステムとは何なのかという点で基的なことから理解を深めて、es6のimport/exportとの違いを知り、より正しく実装できるようになれば良いと思っている。 結論としては 方針としては基的にはES6形式で記述するが、CommonJS形式の読み書きが

    # CommonJS と ES6の import/export で迷うなら - Qiita