我从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
答案 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",
],
},
},
},