Moment: Nicht abgefangener Fehler: Modul './locale' kann nicht gefunden werden

Erstellt am 1. Mai 2020  ·  69Kommentare  ·  Quelle: moment/moment

Beschreibe den Fehler
Ich erhalte diesen Fehler auf der Chrome-Konsole, nachdem ich den produktionsoptimierten Build erstellt habe

Nicht abgefangener Fehler: Modul './locale' kann nicht gefunden werden
bei 2.d0944550.chunk.js:1
bei Modul.(2.d0944550.chunk.js:1)
bei f ((Index):1)
bei Module.837 (main.091f08fc.chunk.js:1)
bei f ((Index):1)
bei Object.540 (main.091f08fc.chunk.js:1)
bei f ((Index):1)
bei einem ((Index):1)
bei Array.e [als Push] ((Index):1)
at main.091f08fc.chunk.js:1

Das ist mein Paket.json

{
  "name": "sheetgo-front-end",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "@allpro/react-router-pause": "^1.1.3",
    "@material-ui/core": "^4.4.2",
    "@material-ui/icons": "^4.5.1",
    "@material-ui/lab": "^4.0.0-alpha.26",
    "@material-ui/styles": "^4.4.1",
    "@material/icon-button": "^3.1.0",
    "@material/react-button": "^0.15.0",
    "@material/react-card": "^0.15.0",
    "@material/react-icon-button": "^0.15.0",
    "@material/react-material-icon": "^0.15.0",
    "@material/react-select": "^0.15.0",
    "@material/react-tab": "^0.15.0",
    "@mdi/js": "^3.4.93",
    "@mdi/react": "^1.1.0",
    "@stripe/react-stripe-js": "^1.1.0",
    "@stripe/stripe-js": "^1.2.0",
    "@svgr/webpack": "^4.1.0",
    "apexcharts": "^3.8.6",
    "axios": "^0.19.2",
    "browser-info": "^1.2.0",
    "chart.js": "^2.7.2",
    "classnames": "^2.2.6",
    "color-sort": "^0.0.1",
    "connected-react-router": "^6.5.2",
    "countup.js": "^1.9.3",
    "cra-append-sw": "^2.7.0",
    "filepond": "4.1.0",
    "filepond-plugin-file-validate-size": "2.1.1",
    "filepond-plugin-file-validate-type": "1.2.2",
    "form-serialize": "^0.7.2",
    "fuse.js": "^3.4.2",
    "history": "^4.10.1",
    "inputmask": "^4.0.0",
    "is-mobile": "^2.0.0",
    "jquery": "^3.3.1",
    "jquery-ui-sortable-npm": "^1.0.0",
    "js-cookie": "^2.2.0",
    "lodash": "^4.17.10",
    "markdown-to-jsx": "^6.10.3",
    "material-components-web": "^3.1.0",
    "material-ui-chip-input": "^1.0.0",
    "md5": "^2.2.1",
    "memoize-one": "^5.0.4",
    "moment": "^2.22.2",
    "moment-timezone": "^0.5.27",
    "onecolor": "^3.1.0",
    "p-queue": "^6.1.1",
    "payform": "^1.2.2",
    "promise-throttle": "^1.0.0",
    "prop-types": "^15.7.0",
    "query-string": "^6.5.0",
    "react": "^16.8.1",
    "react-apexcharts": "^1.3.3",
    "react-dom": "^16.8.1",
    "react-draggable": "4.2.0",
    "react-filepond": "7.0.1",
    "react-google-authorize": "^1.0.4",
    "react-hotjar": "^2.0.0",
    "react-id-swiper": "^1.6.8",
    "react-intl": "^2.5.0",
    "react-modal-video": "^1.2.3",
    "react-redux": "^7.1.1",
    "react-resizable": "^1.8.0",
    "react-router": "^5.1.2",
    "react-router-dom": "^5.1.2",
    "react-router-last-location": "^2.0.1",
    "react-scripts": "^2.1.4",
    "react-sizeme": "^2.5.2",
    "react-stripe-elements": "^4.0.0",
    "react-text-mask": "^5.4.3",
    "react-virtualized-auto-sizer": "^1.0.2",
    "react-vis-network": "^1.0.0",
    "react-window": "^1.8.1",
    "recompose": "^0.30.0",
    "redux": "^4.0.4",
    "redux-react-session": "^2.4.0",
    "redux-saga": "^1.1.1",
    "redux-thunk": "^2.3.0",
    "socket.io-client": "^2.3.0",
    "sort-by": "^1.2.0",
    "tether": "^1.4.4",
    "throttle-debounce": "^2.1.0",
    "url-loader": "^1.0.1"
  }

Wenn ich lokal mit Garn für die Dev-Version baue, funktioniert es

Reproduzieren
Schritte zum Reproduzieren des Verhaltens:
Erstellen Sie eine App mit diesen Anforderungen. Sollte diesen Fehler auf der Konsole bekommen.

Erwartetes Verhalten
Eine klare und prägnante Beschreibung dessen, was Sie erwartet haben.

Screenshots
Fügen Sie gegebenenfalls Screenshots hinzu, um Ihr Problem zu erklären.

Desktop (bitte vervollständigen Sie die folgenden Informationen):

  • Betriebssystem: [zB iOS]
  • Browser [zB Chrome, Safari]
  • Version [zB 22]

Smartphone (bitte füllen Sie die folgenden Informationen aus):

  • Gerät: [zB iPhone6]
  • Betriebssystem: [zB iOS8.1]
  • Browser [zB Aktienbrowser, Safari]
  • Version [zB 22]

Momentspezifische Umgebung

  • Die Zeitzoneneinstellung des Geräts, auf dem der Code ausgeführt wird
  • Uhrzeit und Datum der Ausführung des Codes
  • Andere verwendete Bibliotheken (TypeScript, Immutable.js usw.)

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)

Zusätzlicher Kontext
Fügen Sie hier jeden weiteren Kontext zu dem Problem hinzu.

Hilfreichster Kommentar

Gleicher Fehler,

Behoben durch Entfernen des Carret-Zeichens vor der Versionsnummer. Der Package.json-Eintrag sieht jetzt so aus:
"moment": "2.24.0"

Es sieht aus wie ein Bug aus der neuen Version.

Alle 69 Kommentare

Exakt. Ich bin gerade mit diesem Fehler konfrontiert und habe gesehen, dass sie gerade vor Stunden eine neue Version veröffentlicht haben.

Wenn Sie Garn verwenden, fügen Sie den Resolutionsblock zu package.json hinzu, um Versionen der Unterabhängigkeit zu überschreiben, es funktioniert für mich

  "resolutions": {
    "moment": "2.24.0"
  }

Hier gilt das gleiche!

Auch 2.24.0 hat immer noch die Warnung: ./node_modules/chart.js/node_modules/moment/src/lib/locale/locales.js Critical dependency: the request of a dependency is an expression

Reproduziere dieses Problem einfach

Die gleichen Auch!

  • 1

Gleicher Fehler,

Behoben durch Entfernen des Carret-Zeichens vor der Versionsnummer. Der Package.json-Eintrag sieht jetzt so aus:
"moment": "2.24.0"

Es sieht aus wie ein Bug aus der neuen Version.

Heute Abend habe ich Jest installiert und es hat ein Problem verursacht und ich wurde angewiesen, alle Dateien vongarn.lock und package.lock zusammen mit meinem Modulordner zu entfernen und Garninstallation oder npm-Installation durchzuführen. Als ich die Garninstallation durchführte, erhielt ich den in diesem Thread erwähnten Fehler - die angezeigte Seite sagte, der Fehler sei ein Webpack-Fehler und verwies auf die Moment-Zeitzone. Als ich meine Sperrdateien und den Modulordner entfernte und mit npm install (anstelle von Garninstallation) neu installierte - alles funktionierte. Kurz gesagt, als ich einen anderen Paketmanagerbefehl verwendete, änderte sich das Ergebnis.

Bitte entfernen Sie ^ in package.json auf diese Weise hat es für mich funktioniert 👍

Seltsamer solcher Vorfall ereignete sich Anfang dieser Woche aufgrund des Versprechens der Bibliothek, dort auch Probleme wie ^ zu entfernen. Ich glaube, die Leute werden jetzt mehr oder weniger für alle package.json strikte Version anstelle von ^ . tun

Ich habe versucht, das Caret-Zeichen aus package.json zu entfernen und + rm -rf node_modules + yarn auszuführen, und ich bekomme dieses Problem immer noch beim Ausführen von webpack

Ich verwende Moment-Zeitzone und die Standardeinstellung ist 2.25. Caret entfernen macht keinen Unterschied

Hier gilt das gleiche!

Das funktioniert bei mir, ich verwende die Create-React-App.
// in webpack.config.js

plugins: [
...
// new webpack.IgnorePlugin(/^\.\/locale$/, /moment$/),
// replace the line above with below, regex to match the locale you want to use
new webpack.ContextReplacementPlugin(/moment[\/\\]locale/,  /(en|zh-cn)\.js/)
...
]

Es scheint ein Problem mit ihrer neuesten Version zu geben. Ich musste ohne das "^" zu "2.24.0" zurückkehren, und das ermöglichte das Erstellen meiner Sites.

Gleiches Problem hier mit Momentversion 2.25.0 in einem meiner Gatsby-basierten Projekte:

Cannot find module './locale'                              


> 1 | import { Moment } from './constructor';                                                                                                 
    | ^                                                                                                                                       
  2 |                                                                                                                                         
  3 | var proto = Moment.prototype;                                                                                                           
  4 |                                                                                                                                         


  WebpackError: Cannot find module './locale'                                                                                                 

  - prototype.js:1 webpackMissingModule                                                                                                       
    node_modules/moment/src/lib/moment/prototype.js:1:1                                                                                       

  - prototype.js:1 Module../node_modules/moment/src/lib/moment/prototype.js                                                                   
    node_modules/moment/src/lib/moment/prototype.js:1:1                                                                                       

  - moment.js:1 Module../node_modules/moment/src/lib/moment/moment.js                                                                         
    node_modules/moment/src/lib/moment/moment.js:1:1                                                                                          

  - moment.js:1 Module../node_modules/moment/src/moment.js                                                                                    
    node_modules/moment/src/moment.js:1:1

Im Moment 2.24.0 gibt es kein solches Problem.

Kann jemand ein minimales (nicht) funktionierendes Beispiel bereitstellen, damit dies untersucht werden kann?

Ich musste zu "2.24.0" zurückkehren, momentan kann './locale' nicht gefunden werden

das funktioniert bei mir perfekt: https://github.com/moment/moment/issues/4216#issuecomment -622453248

Kann jemand ein minimales (nicht) funktionierendes Beispiel bereitstellen, damit dies untersucht werden kann?

Hey @ichernev - finden Sie im Anhang. Führen Sie einfach npm install und npm start aus :)

Issue5484.zip

Die Behandlung von Bedarf wurde auf das Verhalten 2.24.0 zurückgesetzt.

Behoben in 2.25.1.

Ich habe auf die Version 2.25.1 aktualisiert, aber ich habe immer noch den Fehler.

prototype.js:1 Uncaught Error: Cannot find module './locale'
    at webpackMissingModule (prototype.js:1)
    at Module../node_modules/moment/src/lib/moment/prototype.js (prototype.js:1)
    at __webpack_require__ (bootstrap:782)
    at fn (bootstrap:150)
    at Module../node_modules/moment/src/lib/moment/moment.js (moment.js:1)
    at __webpack_require__ (bootstrap:782)
    at fn (bootstrap:150)
    at Module../node_modules/moment/src/moment.js (moment.js:1)
    at __webpack_require__ (bootstrap:782)
    at fn (bootstrap:150)
    at Module../src/Menu.js (Home.js:186)
    at __webpack_require__ (bootstrap:782)
    at fn (bootstrap:150)
    at Module../src/App.js (Add.js:157)
    at __webpack_require__ (bootstrap:782)
    at fn (bootstrap:150)
    at Module../src/index.js (index.css?02e3:45)
    at __webpack_require__ (bootstrap:782)
    at fn (bootstrap:150)
    at Object.0 (serviceWorker.js:135)
    at __webpack_require__ (bootstrap:782)
    at checkDeferredModules (bootstrap:45)
    at Array.webpackJsonpCallback [as push] (bootstrap:32)
    at main.chunk.js:1

Aber vielleicht mache ich etwas falsch. Kann jemand bestätigen, dass dieser Fehler in 2.25.1 verschwunden ist?

Gleiches Problem für mich und Moment-Zeitzone. Ich habe versucht, 2.24.0 zu erzwingen, aber immer noch das gleiche Problem, da ich vermute, dass Moment-Timezone die neueste verwendet?

Bekomme immer noch den Fehler

@strange1120 ist [email protected]?
Wenn Sie Garn verwenden, versuchen Sie yarn why moment , um installierte Deps anzuzeigen.

@ichernev Entschuldigung, ich kann bestätigen, dass 2.25.1 den gleichen Fehler auslöst. Mit der App, die ich zuvor hochgeladen habe, und einem sauberen node_modules/package-lock.json kann ich sehen, dass die Version 2.25.1 ist, aber immer noch wirft.

Warum sind diese Probleme geschlossen ... das ist verheerend

Ja ich auch. Ich dachte es wäre mein Docker

Vorschlag entfernt - lohnt sich 2020 nicht :( @ichernev schon ein Update?

Für Leute, die create-react-app verwenden und CRA nicht auswerfen möchten, können Sie Folgendes installieren:

Erstellen Sie dann ein config-overrides.js im Stammverzeichnis Ihres Projekts zum weiteren Überschreiben.

module.exports = function override(config, env) {
  // do stuff with the webpack config...
  return config;
};

Bearbeiten Sie Ihre package.json:

"start": "react-app-rewired start",
"build": "react-app-rewired build",
"test": "react-app-rewired test",

Da ich Ameisendesign verwende, sieht mein config-overrides.js aus:

const { override, fixBabelImports } = require("customize-cra");
const webpack = require("webpack");

const fixMomentJs = (config) => {
  config.plugins.push(
    new webpack.ContextReplacementPlugin(/^\.\/locale$/, (context) => {
      if (!/\/moment\//.test(context.context)) {
        return;
      }
      // context needs to be modified in place
      Object.assign(context, {
        // include locales
        regExp: /^\.\/(fr|en)/,
        // point to the locale data folder relative to moment's src/lib/locale
        request: "../../locale",
      });
    })
  );
  return config;
};

module.exports = override(
  fixMomentJs,
  fixBabelImports("import", {
    libraryName: "antd",
    libraryDirectory: "es",
    style: "css",
  })
);

Aber deines wird einfacher sein, etwa so, denke ich:

module.exports = function override(config, env) {
  config.plugins.push(
    new webpack.ContextReplacementPlugin(/^\.\/locale$/, (context) => {
      if (!/\/moment\//.test(context.context)) {
        return;
      }
      // context needs to be modified in place
      Object.assign(context, {
        // include locales
        regExp: /^\.\/(fr|en)/,
        // point to the locale data folder relative to moment's src/lib/locale
        request: "../../locale",
      });
    })
  );
  return config;
};

Für Personen, die Zugriff auf Webpack haben, können Sie Ihrem Plugin-Array in Ihrer Webpack-Konfiguration den folgenden Eintrag hinzufügen:

    new webpack.ContextReplacementPlugin(/^\.\/locale$/, (context) => {
      if (!/\/moment\//.test(context.context)) {
        return;
      }
      // context needs to be modified in place
      Object.assign(context, {
        // include locales
        regExp: /^\.\/(fr|en)/,
        // point to the locale data folder relative to moment's src/lib/locale
        request: "../../locale",
      });
    })

Bis der Fix veröffentlicht wird, wie von @saadzr erwähnt , können Sie nur vorübergehend der Version "2.24.0" einen Moment zuweisen. Karett entfernen: "^".

Für diejenigen, die nicht wissen, wie es geht. Finden Sie die Pakete, die moment verwenden: npm ls moment . Sie werden wahrscheinlich sehen:

└─┬ [email protected]
  ├── [email protected] 
  └─┬ [email protected]
    └── [email protected]  deduped

Also innerhalb von antd/package.json und rc-picker/package.json in dependencies :

"moment": "^2.24.0", -> "moment": "2.24.0"

Und führen Sie npm i ZWEIMAL aus. Weiß nicht warum man zweimal braucht, aber es funktioniert erst nach zweimal.

@talgat-ruby Dies bedeutet, dass der Ordner node_modules bearbeitet werden muss, der nicht auf Repositorys verschoben wird. Leute, die das Projekt klonen, müssen dies jedes Mal tun. Dies ist meiner Meinung nach keine gute Problemumgehung.
Wir arbeiten beispielsweise mit mehreren Mitarbeitern zusammen und können ihnen nicht jedes Mal auffordern, dies zu tun, wenn sie ein Repository klonen.
Der beste Weg, dies zu beheben, bis ein Fix veröffentlicht wird, besteht darin, Webpack wie oben erwähnt zu konfigurieren.

@nathanagez Dies ist eine vorübergehende Lösung. Das Antd-Team wird wahrscheinlich bald einen offiziellen Fix veröffentlichen. Und ja du hast recht, darauf kann man sich nicht verlassen.

@talgat-ruby Ich habe erklärt, wie man Webpack konfiguriert, siehe oben, damit Sie den Workaround in Ihr Repository verschieben können.

Ich kann bestätigen, dass der Vorschlag von @talgat-ruby das Problem für mich behoben hat.

@rilyu Dein Vorschlag hat bei mir funktioniert!

Ich verwende Moment-Zeitzone und habe keine Version für Moment angegeben.
Es scheint dann, während der Installation, Sehnsucht installiert die neueste Version von moment als Abhängigkeit -> [email protected] und es ist nicht kompatibel.

Tatsächlich hinzufügen
"Auflösungen": { "Moment": "2.24.0" }
löst das Problem.

vielen Dank

Gibt es Neuigkeiten von den Entwicklern?

Erhalten dieses Fehlers mit MaterialUI DatePicker. Ich habe versucht, manuell auf 2.24.0 zurückzusetzen, aber kein Glück für mich. Ich hoffe, dass dies bald behoben wird. Ich denke, ich werde vorerst das native TextField type="date" verwenden.

Gleicher Fehler,

Behoben durch Entfernen des Carret-Zeichens vor der Versionsnummer. Der Package.json-Eintrag sieht jetzt so aus:
"moment": "2.24.0"

Es sieht aus wie ein Bug aus der neuen Version.

Das funktioniert bei mir! Tnx

Ich habe das gleiche Problem, ich habe den Ordner node_modules gelöscht, dann die Version von Moment auf 2.24.0 geändert und dann erneut installiert, das Problem besteht weiterhin.
Wenn ich überprüfe, dass rc-calendar 2.25.1 verwendet, so ähnlich. Ich habe versucht, dort zu bearbeiten und habe yarn install immer noch Problem weiterhin bestehen. Bitte helft mir ich arbeite an einem wichtigen Projekt

@faizhameed Versuchen Sie, den Ordner node-modules zu entfernen.
Entfernen Sie auch Ihre package-lock.json (garn.lock auch, wenn Sie Garn verwenden).

Fügen Sie dies nach den Abhängigkeiten zu Ihrer package.json hinzu: {
...
},
Auflösungen: { "moment": "2.24.0" }

Es sollte rc-datepicker zwingen, das Moment 2.24 zu verwenden

Gleiches Problem hier nach dem Upgrade auf 2.25.0 und 2.25.1.
Die einzige Lösung, die für mich funktioniert hat, ist ein Downgrade auf 2.24.0

Leider habe ich das gleiche Problem. Aus irgendeinem Grund funktioniert die Lösung in der package.json bei mir nicht.
resolutions: { "moment": "2.24.0" }

Im Moment werde ich wie

Für mich hat das Festlegen der Version auf "moment": "2.24.0" und das Hinzufügen von resolutions: { "moment": "2.24.0" } das Problem vorübergehend gelöst.

Modul nicht gefunden: Fehler: './locale' in 'D:\Downloads\Telegram\ildamnode_modules\rc-pickernode_modules\momentsrc\lib\locale' kann nicht aufgelöst werden

Wie kann dies überwunden werden?

"moment": "2.24.0"

"Abhängigkeiten": {
"antd": "^4.2.0",
"axios": "^0.19.2",
"klassennamen": "^2.2.6",
"cross-env": "^7.0.2",
"dva": "^2.4.1",
"dva-model-extend": "^0.1.2",
"weniger-vars-to-js": "^1.3.0",
"libphonenumber-js": "^1.7.50",
"lodash": "^4.17.15",
"lodash.clonedeep": "^4.5.0",
"moment": "2.24.0",
"nprogress": "^0.2.0",
"path-to-regexp": "^6.1.0",
"prop-types": "^15.7.2",
"Abfragezeichenfolge": "^6.12.1",
"reagieren": "^16.13.1",
"react-currency-format": "^1.0.0",
"react-custom-scrollbars": "^4.2.1",
"react-dom": "^16.13.1",
"react-helm": "^6.0.0",
"react-perfect-scrollbar": "^1.5.8",
"svg-sprite-loader": "^4.2.1",
"umi-plugin-locale": "^2.11.5"
},

Ein Downgrade auf 2.24.0 hat bei mir funktioniert. Entfernen Sie das ^ mit 2.24.0.
Auch alle aktuellen Abhängigkeiten in package-lock.json manuell auf 2.24.0 aktualisiert.

Habe das Problem mit der 2.24, versuche die "Auflösungen" zu setzen... aber ich habe nicht auf 2.25 aktualisiert, was ist los? Am Donnerstag hat es funktioniert.

Ein Downgrade auf 2.24.0 hat bei mir funktioniert. Entfernen Sie das ^ mit 2.24.0.
Auch alle aktuellen Abhängigkeiten in package-lock.json manuell auf 2.24.0 aktualisiert.

Danke hat funktioniert! Es gibt ein Problem mit Garn. Arbeitete mit Npm

Bis der Fix veröffentlicht wird, wie von @saadzr erwähnt , können Sie nur vorübergehend der Version "2.24.0" einen Moment zuweisen. Karett entfernen: "^".

Für diejenigen, die nicht wissen, wie es geht. Finden Sie die Pakete, die moment verwenden: npm ls moment . Sie werden wahrscheinlich sehen:

└─┬ [email protected]
  ├── [email protected] 
  └─┬ [email protected]
    └── [email protected]  deduped

Also innerhalb von antd/package.json und rc-picker/package.json in dependencies :

"moment": "^2.24.0", -> "moment": "2.24.0"

Und führen Sie npm i ZWEIMAL aus. Weiß nicht warum man zweimal braucht, aber es funktioniert erst nach zweimal.

Arbeiten! <3

yarn remove + yarn add moment installierte Version 2.25.2, die für mich in Ordnung ist

yarn remove + yarn add moment installierte Version 2.25.2, die für mich in Ordnung ist

Wäre das in dieser Version kein Problem?

@Shakxzod-Namazbaev Ich denke, das ursprüngliche Problem war mit Version 2.25.0, einige Leute berichteten, dass das gleiche Problem in 2.25.1 auftritt, andere haben erwähnt, dass das Downgrade auf 2.24 für sie funktioniert. In meinem Fall scheint Version 2.25.2 zu funktionieren, daher ist möglicherweise kein Downgrade erforderlich

@Shakxzod-Namazbaev Ich denke, das ursprüngliche Problem war mit Version 2.25.0, einige Leute berichteten, dass das gleiche Problem in 2.25.1 auftritt, andere haben erwähnt, dass das Downgrade auf 2.24 für sie funktioniert. In meinem Fall scheint Version 2.25.2 zu funktionieren, daher ist möglicherweise kein Downgrade erforderlich

Sie haben also gerade kein Problem mit Version 2.25.2, oder?

@Shakxzod-Namazbaev genau, 2.25.2 funktioniert für mich gut.

Kann ich bestätigen - Moment 2.25.2 funktioniert auch bei mir.

Ich denke, 2.25.2 ist in Standalone-Form in Ordnung, aber in paketverwalteter Form ist es immer noch kaputt (Webpack in meinem Fall, wo Moment eine Abhängigkeit von Moment-Zeitzone ist).

2.24.0 ist immer noch dasjenige für Leute, die Webpack und andere momentabhängige Pakete verwenden.

ver. 2.25.2 funktioniert für mich in paketverwalteter Form - Webpack konfiguriert in einem Gatsby-basierten Projekt (Ver. 2.25.0 nicht):

relevante package.json Zeilen:

dependencies: {
    ...
    "moment": "^2.25.2",
    ...
}

Ich verwende jedoch nicht moment-timezone .

So verrückt, dass dieser Issue-Bericht bei so vielen Betroffenen immer noch als Closed sitzt und die einzige "Lösung" bisher darin besteht, auf eine alte Version downzugraden!?!?!

@ichernev Danke! Das Update auf 2.25.2 behebt dieses Problem für mich!

--- a/front/package.json
+++ b/front/package.json
@@ -5,7 +5,7 @@
   "dependencies": {
-    "moment": "^2.22.2",
+    "moment": "^2.25.2",

OK. Ich habe zu früh gelobt. Obwohl mit Moment ver. 2.25.2 Webpack ist in der Lage, ein funktionierendes Bundle ohne Fehler zu erstellen, aber das Importieren des Gebietsschemas funktioniert nicht mehr - es sieht so aus, als ob es ignoriert wird (vielleicht hat das etwas mit Nebenwirkungen / Baumzittern zu tun?).

Z.B:

import moment from "moment"
import "moment/locale/pl"

// set global 'moment' locale (polish)
moment.locale("pl")

// ... somewhere later
console.log(moment().format("DD MMMM YYYY HH:mm:ss"))

Bei Version 2.25.2 Ausgabe 04 May 2020 16:38:15 , was falsch ist, wie es sein sollte
04 maja 2020 16:38:58 .

Version 2.24.0 ist also immer noch die letzte funktionierende.

Ich hatte das gleiche Problem, das Entfernen von Karotten aus der Version hat dies behoben.

So in Ihrer package.json-Datei --- "moment": "2.24.0"

Version: 2.24.0

Nun, ich habe lokal getestet und kann nicht wirklich sagen, warum, aber wenn es sich um eine package.json-Eigenschaft module ist sie defekt. Wenn es nur jsnext:main gibt, funktioniert es. Dies bezieht sich darauf, dass Gebietsschemadateien nicht richtig geladen werden, obwohl sie noch im Bundle enthalten sind.

Diese "moderne" Moduleigenschaft, die jsnext:main ersetzt, ist also nicht nur eine Umbenennung oder ein alternativer Name. Es hat eine versteckte Agenda, die nicht gut beworben wird.

2.25.3 ist ohne module raus.

@ichernev - danke! Ich kann bestätigen, dass die Version 2.25.3 funktioniert (Webpack ist in der Lage, ein Bundle ohne Fehler zu erstellen und das Einschließen/Festlegen des Gebietsschemas funktioniert wie erwartet).

Fixes in 2.25.3 für mich.

Gleicher Fehler,

Behoben durch Entfernen des Carret-Zeichens vor der Versionsnummer. Der Package.json-Eintrag sieht jetzt so aus:
"moment": "2.24.0"

Es sieht aus wie ein Bug aus der neuen Version.

Danach funktioniert!

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen