I've got this configuration from :
webpack.config.js:
var path = require('path'); var webpack = require('webpack'); module.exports = { mode: "development", devtool: "inline-source-map", entry: "./src/Api.ts", output: { filename: "bundle.js" }, resolve: { // Add `.ts` and `.tsx` as a resolvable extension. extensions: [".ts", ".tsx", ".js"] }, module: { rules: [ // all files with a `.ts` or `.tsx` extension will be handled by `ts-loader` { test: /\.tsx?$/, loader: "ts-loader" } ] } }; ./src/Api.ts:
export class Api { ... } But when I run webpack I get:
Error: TypeScript emitted no output for Api.ts 32 Answers
Check that you don't have noEmit set to true In your tsconfig.json file.
First change webpack config entry like index.js to index.tsx. Second make sure rule added for tsx file like:
{ test: /\.(ts|js)x?$/, exclude: /node_modules/, use: { loader: "babel-loader", options: { presets: [ "@babel/preset-env", "@babel/preset-react", "@babel/preset-typescript", ], }, }, }, 2