Beschreibe den Fehler
Wenn ich versuche, meine TypeScript-App mit Webpack zu kompilieren, erhalte ich für jedes Gebietsschema eine Fehlermeldung, dass '../moment' nicht aufgelöst werden kann.
Dieser Fehler wird für jedes andere Gebietsschema wiederholt:
ERROR in ./node_modules/moment/locale/km.js
Module not found: Error: Can't resolve '../moment' in 'C:\PROGS\dev\var\private\moment-test\node_modules\moment\locale'
@ ./node_modules/moment/locale/km.js 5:50-70
@ ./node_modules/moment/locale sync ^\.\/.*$
@ ./node_modules/moment/moment.js
@ ./src/app.ts
Fortpflanzen
src/app.ts
import * as moment from "moment";
console.log(moment().format("YYYY"));
Paket.json
{
"private": true,
"dependencies": {
"moment": "2.23.0"
},
"devDependencies": {
"awesome-typescript-loader": "5.2.1",
"typescript": "3.2.2",
"webpack": "4.28.3",
"webpack-cli": "3.2.1"
}
}
tsconfig.json
{ "include": [ "./src/" ] }
webpack.config.js
module.exports = {
entry: "./src/app.ts",
output: { filename: "bundle.js" },
resolve: { extensions: [".ts"] },
module: { rules: [ { test: /\.ts$/, use: { loader: "awesome-typescript-loader" } } ] }
}
Erwartetes Verhalten
yarn run webpack -p
sollte ohne Fehler funktionieren.
Momentspezifische Umgebung
Führen Sie den folgenden Code in Ihrer Umgebung aus und fügen Sie die Ausgabe ein:
console.log((new Date()).toString())
console.log((new Date()).toLocaleString())
console.log((new Date()).getTimezoneOffset())
console.log(navigator.userAgent)
console.log(moment.version)
Dieser Code schlägt mit den gleichen Fehlern fehl!
Danke, dass Sie diese Anfrage geöffnet haben.
Dies ist eine großartige Frage für Stack Overflow .
Das ist ein Bug, nicht wahr? Stack Overflow ist gut für Fragen, aber niemand wird dort Fehler beheben.
Ich interpretiere Ihre Antwort so, dass Sie WebPack mit TypeScript nicht unterstützen. Schade!
Im Internet gibt es verschiedene Tutorials zur Verwendung von Moment mit Webpack und TypeScript. Es scheint, dass viele andere sie gut zusammen verwenden. Wenn mehr Leute dieses Problem haben und es genügend Community-Wissen gibt, um es zu beheben, können wir versuchen, dies zu tun.
Ich hatte übrigens das gleiche Problem - scheint durch Moment-Locales verursacht zu werden, die mir egal waren. Ich habe in diesem Online-Artikel eine Lösung gefunden, die in meinem Fall gut genug war, um das Locales-Plugin zu ignorieren:
Plugins: [neues webpack.IgnorePlugin(/^.\/locale$/, /moment$/)]
Dies scheint ein ziemlich Mainstream-Nutzungsszenario zu sein, daher würde ich empfehlen, aus dem TypeScript-Abschnitt der Dokumentation auf die obige Seite zu verlinken.
@authguidance-examples PRs sind willkommen unter https://github.com/moment/momentjs.com !
Ich stand vor dem gleichen Problem, hier war das Problem-
npm i --save react-moment
installiert, der gerade in der Datei package.json
hinzugefügt wurde, aber lib war nicht in node_modules vorhandennpm install --save moment react-moment
Weiß jemand, warum immer "vor ein paar Sekunden" angezeigt wird? was auch immer das datum ist
Ich habe den Moment in Reactjs hinzugefügt: import * as moment from "moment"; und in der Dependecy Injection hinzugefügt: "moment": "2.23.0", aber immer die
undefinierter Fehler... in Reactjs,
Freundlich helfen...
Warum ist diese Filiale nicht geschlossen? Letzter Kommentar am 2. Dezember 2019. @marwahaha
Hilfreichster Kommentar
Ich stand vor dem gleichen Problem, hier war das Problem-
npm i --save react-moment
installiert, der gerade in der Dateipackage.json
hinzugefügt wurde, aber lib war nicht in node_modules vorhandennpm install --save moment react-moment