title: Difference between module type in tsconfig.json
body: <p>In tsconfig.json</p>
  
  <pre><code>{
      "compilerOptions": {
       "target": "es5",
       "module": "commonjs",
       "moduleResolution": "node",
       "sourceMap": true,
       "emitDecoratorMetadata": true,
       "experimentalDecorators": true,
       "removeComments": false,
       "noImplicitAny": false
    }
  }
  </code></pre>
  
  <p>I cannot understand the difference between following <code>module</code> types:</p>
  
  <blockquote>
    <p>"commonjs", "amd", "umd", "system", "es6", "es2015", "none"</p>
  </blockquote>
  
  <p><strong>Question:</strong> Which value should I use and when should I use it?</p>