<p>moment n'a pas de membre par défaut</p>

Créé le 9 janv. 2018  ·  4Commentaires  ·  Source: moment/moment

Description du problème et étapes à reproduire :
Essayer d'implémenter les paramètres régionaux de l'instance dans le projet dactylographié
https://momentjs.com/docs/#/i18n/instance -locale/
mais quand je import moment from 'moment' j'obtiens une erreur :
moment has no default export

but:
J'ai besoin de formulaires personnalisés (raccourcis, comme "sec" au lieu de "secondes") de chaînes humanisées dans certaines parties de l'application, j'aimerais donc utiliser deux paramètres régionaux dans une seule vue.

Environnement:
projet dactylographié

Autres informations pouvant être utiles :
TypeScript, Angular4

Si vous signalez un problème, veuillez exécuter le code suivant dans l'environnement que vous utilisez 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)
Tue Jan 09 2018 15:46:46 GMT+0100 (CET)
VM12667:2 09/01/2018, 15:46:46
VM12667:3 -60
VM12667:4 Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36
VM12667:5 Uncaught ReferenceError: moment is not defined
    at <anonymous>:5:13



md5-1f8dcc13f1f8244065e29a6dcf5a9efa



import * as moment from 'moment';
console.log('version', moment.version);



md5-1f8dcc13f1f8244065e29a6dcf5a9efa



version 2.20.1

Je voudrais empêcher la solution import * as moment from 'moment'; car elle bloque trois secousses dans le regroupement

Merci beaucoup! :)

Commentaire le plus utile

RTFM

Note: If you have trouble importing moment, try adding 
"allowSyntheticDefaultImports": true in compilerOptions 
in your tsconfig.json file and then use the syntax

https://momentjs.com/docs/#/use -it/typescript/

Tous les 4 commentaires

RTFM

Note: If you have trouble importing moment, try adding 
"allowSyntheticDefaultImports": true in compilerOptions 
in your tsconfig.json file and then use the syntax

https://momentjs.com/docs/#/use -it/typescript/

Y a-t-il une chance que cela soit résolu d'une manière où allowSyntheticDefaultImport ne soit plus nécessaire ? Le problème avec l'exiger, c'est que tous ceux qui utilisent le moment doivent également activer ce paramètre.

En n'exigeant pas ce paramètre, vous permettez à moment d'être facilement utilisé dans des projets qui ont leur propre préférence pour allowSyntheticDefaultImport , mais maintenant ce paramètre est effectivement imposé à tout le monde.

Je viens de dire que c'est un problème vraiment, vraiment, odieux. Puisque Moment a choisi de ne pas respecter les spécifications officielles, cela signifie que certaines bibliothèques se connectent via import * as moment from "moment" tandis que d'autres bibliothèques fonctionnent via import defaultMoment from "moment" . Ainsi, lorsque mon projet tente de charger les deux, je ne peux tout simplement pas obtenir les bons paramètres pour obtenir le cumul afin de le compiler correctement. J'ai essayé presque toutes les permutations et combinaisons de allowSyntheticDefaultImports : true , esModuleInterop : true , moduleResolution : "node" et skipLibCheck : true et je n'arrive pas à obtenir une permutation qui fonctionne correctement. Une solution permettra à une bibliothèque avec un format d'importation de fonctionner, mais elle échouera dans l'autre.

Il y a une raison pour laquelle les spécifications existent, et c'est pour créer de la cohérence. Est-il impossible que ce moment ait une variante moment-es ou quelque chose qui puisse être correctement importé, de sorte que les personnes qui souhaitent suivre la spécification puissent simplement suivre la spécification, permettant à la chaîne d'outils JS de fonctionner comme prévu, plutôt que tous les hacks ?

+1

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

alvarotrigo picture alvarotrigo  ·  3Commentaires

chitgoks picture chitgoks  ·  3Commentaires

ninigix picture ninigix  ·  3Commentaires

dogukankotan picture dogukankotan  ·  3Commentaires

danieljsinclair picture danieljsinclair  ·  3Commentaires