title: Module build failed: Error: Typescript emitted no output for
body: <p>When I try to compile a .ts file I get the following error:</p>
  
  <pre><code>Module build failed: Error: Typescript emitted no output for C:\xampp\htdocs\node-api\src\js\server.ts. 
  at successLoader (C:\xampp\htdocs\node-api\node_modules\ts-loader\dist\index.js:39:15)
  at Object.loader (C:\xampp\htdocs\node-api\node_modules\ts-loader\dist\index.js:21:12)
  </code></pre>
  
  <p>For compiling I use the following config files.</p>
  
  <p>Webpack:</p>
  
  <pre><code>const path = require( 'path' ),
      CleanWebpackPlugin = require( 'clean-webpack-plugin' );
  
  module.exports = env =&gt; {
      return {
          mode: env.dev ? 'development' : 'production',
          entry: {
              'server': './src/js/server.ts'
          },
          output: {
              path: __dirname,
              filename: './dist/js/[name].js',
          },
          externals: '/node_modules',
          module: {
              rules: [
                  {
                      test: /\.js$/,
                      exclude: ['/node_modules/', '/src/scss/'],
                      use: [
                          'babel-loader'
                      ]
                  },
                  {
                      test: /\.ts(x?)$/,
                      exclude: ['/node_modules/', '/src/scss/'],
                      use: [
                          'babel-loader',
                          'ts-loader',
                      ]
                  },
                  {
                      test:  /\.json$/,
                      loader: 'json-loader'
                  },
              ]
          },
          resolve: {
              extensions: ['.ts', '.tsx', '.js' ],
              alias: {
                  '@': path.resolve(__dirname, './src/js')
              }
          },
          plugins: [
              new CleanWebpackPlugin(['./dist/js', './dist/css']),
          ]
      }
  };
  </code></pre>
  
  <p>Typescript:</p>
  
  <pre><code>{
      "compilerOptions": {
          "removeComments": true,
          "preserveConstEnums": true,
          "allowJs": true,
          "outDir": "./dist/js",
          "target": "es5",
          "moduleResolution": "node",
          "module": "es2015",
          "lib": [
              "es2015",
              "es2016"
          ]
      },
      "exclude": [
          "node_modules"
      ]
  }
  </code></pre>
  
  <p>Babel:</p>
  
  <pre><code>{
      "presets": [
          [
              "env", {
                  "targets": {
                      "node": "current"
                  }
              }
          ],
          "stage-2", "es2015"
      ],
      "plugins": ["dynamic-import-node"]
  }
  </code></pre>
  
  <p>As suggested in some other questions I've already changed the order of resolve extensions but that didn't solve it (<code>.js</code> before <code>.ts</code>) . Typescript 2.8.3 is used in combination with Node 8.11.1 and Mongoose 5.0.15 and compiled by Webpack 4.6. So I'm still wondering how to to solve the error mentioned above.</p>