Используйте момент.js с TS-загрузчиком в веб-пакете 4 - PullRequest
0 голосов
/ 30 декабря 2018

Независимо от того, что я пытаюсь, у меня не получается загрузить moment.js внутри файла TypeScript при сборке с webpack4.

[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'
            }
        },

1 Ответ

0 голосов
/ 13 января 2019

Кажется, проблема с ts-loader.

Как я выяснил, его можно опустить, поскольку babel-loader теперь понимает машинопись, она работает.

...