Décrivez le bogue
Si j'essaie de compiler mon application TypeScript avec webpack, j'obtiens une erreur pour chaque paramètre régional que « ../moment » ne peut pas être résolu.
Cette erreur est répétée pour tous les autres paramètres régionaux :
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
Reproduire
src/app.ts
import * as moment from "moment";
console.log(moment().format("YYYY"));
package.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" } } ] }
}
Comportement prévisible
yarn run webpack -p
devrait fonctionner sans erreur.
Environnement spécifique à un moment
Veuillez exécuter le code suivant dans votre environnement et inclure la sortie :
console.log((new Date()).toString())
console.log((new Date()).toLocaleString())
console.log((new Date()).getTimezoneOffset())
console.log(navigator.userAgent)
console.log(moment.version)
Ce code échoue avec les mêmes erreurs !
Merci d'avoir ouvert cette demande.
C'est une excellente question pour Stack Overflow .
C'est un bug, n'est-ce pas ? Stack Overflow est bon pour la question, mais personne ne corrigera les bogues là-bas.
J'interprète votre réponse comme signifiant que vous ne prenez pas en charge WebPack avec TypeScript. Dommage!
Il existe divers tutoriels sur Internet sur l'utilisation de Moment avec Webpack et TypeScript. Il semble que beaucoup d'autres les utilisent très bien ensemble. Si plus de personnes ont ce problème, et qu'il y a suffisamment de connaissances de la communauté pour le résoudre, alors nous pouvons essayer de le faire.
En passant, j'ai eu le même problème - cela semble être causé par les paramètres régionaux du moment, dont je m'en fichais. J'ai trouvé une solution dans cet article en ligne , qui était assez bonne dans mon cas, pour ignorer le plugin locales :
plug-in : [nouveau webpack.IgnorePlugin(/^.\/locale$/, /moment$/)]
Cela semble être un scénario d'utilisation assez courant, je vous recommande donc de créer un lien vers la page ci-dessus à partir de la section TypeScript de la documentation .
Les PR de @authguidance-examples sont les bienvenus sur https://github.com/moment/momentjs.com !
J'étais confronté au même problème, voici le problème-
npm i --save react-moment
, qui vient d'être ajoutée dans le fichier package.json
mais lib n'était pas là dans node_modules, donc pour ce faire, j'exécutenpm install --save moment react-moment
quelqu'un sait pourquoi toujours afficher comme "il y a quelques secondes" ? quelle que soit la date
j'ai ajouté le moment dans reactjs : import * as moment from "moment"; et dans l'injection de dépendance ajouté : "moment": "2.23.0", mais obtenir le
erreur indéfinie... dans reactjs,
Aide aimablement...
Pourquoi cette succursale n'est-elle pas fermée ? Dernier commentaire le 2 décembre 2019. @marwahaha
Commentaire le plus utile
J'étais confronté au même problème, voici le problème-
npm i --save react-moment
, qui vient d'être ajoutée dans le fichierpackage.json
mais lib n'était pas là dans node_modules, donc pour ce faire, j'exécutenpm install --save moment react-moment