带TypeScript的Webpack获得TypeScript发出无输出错误

时间:2019-03-22 16:56:05

标签: typescript webpack

我从https://www.npmjs.com/package/ts-loader获得了此配置:

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 {
...
}

但是当我运行webpack时,我得到了:

Error: TypeScript emitted no output for Api.ts

2 个答案:

答案 0 :(得分:3)

检查您的noEmit文件中没有将true设置为tsconfig.json

答案 1 :(得分:0)

首先将 index.js 等 webpack 配置条目更改为 index.tsx。 其次确保为 tsx 文件添加规则,例如:

{
  test: /\.(ts|js)x?$/,
  exclude: /node_modules/,
  use: {
    loader: "babel-loader",
    options: {
      presets: [
        "@babel/preset-env",
        "@babel/preset-react",
        "@babel/preset-typescript",
      ],
    },
  },
},