在 webpack 4 中使用 moment.js 和 ts-loader

Use moment.js with ts-loader in webpack 4

无论我尝试什么,在使用 webpack4 构建时,我都无法 moment.js 加载到 TypeScript 文件中。

[tsl] ERROR in /app/Repository/JFFH.Site/Resources/Private/JavaScript/Angular/schedule/schedule.component.ts(18,30)
npm_1    |       TS2694: Namespace '"/app/Repository/JFFH.Site/Resources/Private/node_modules/moment/moment".export=' has no exported member 'Moment'.

我正在尝试运行的 TypeScript 文件:

import * as moment from "moment";

interface IEvent {
    title: string;
    startTime: string;
    startTimeObject?: moment.Moment;

我的tsconfig.json:

{
    "compilerOptions": {
        "outDir": "./dist/",
        "noImplicitAny": true,
        "module": "es6",
        "target": "es5",
        "jsx": "react",
        "allowSyntheticDefaultImports": true,
        "esModuleInterop": true,
        "allowJs": true
    }
}

我的 Webpack4 规则:

        {
            test: /\.tsx?$/,
            exclude: [/node_modules/, /Packages/],
            use: {
                loader: 'ts-loader'
            }
        },
        {
            test: /\.js$/,
            exclude: [/core-js/, /@babel\/runtime/],
            use: {
                loader: 'babel-loader'
            }
        },

这似乎是 ts-loader 的问题。

我发现它可以省略,因为 babel-loader 现在可以理解 typescript,它可以工作。