Estoy tratando de llamar a moment() en mi aplicación Vuejs, he intentado declararlo así:
methods: { moment: function () { return moment(); } },
y traté de probarlo así:
beforeMount() { console.log(moment().format('MMMM Do YYYY, h:mm:ss a')) },
seguí recibiendo
[Vue warn]: Error en beforeMount hook: "ReferenceError: el momento no está definido"
¿Necesito agregar un momento a mi paquete.json y ejecutar la instalación de hilo?
Me gustaría hacerlo lo más ligero posible ya que solo necesitaré acceder a moment() solo una página de mi aplicación, prefiero no cargarlos en todas las páginas.
Por favor amablemente sugiera
Primero debe instalar usando el siguiente comando:
npm i moment --save
luego, en su componente, impórtelo y utilícelo como:
import moment from 'moment/moment'; export default{ ... beforeMount() { console.log(moment().format('MMMM Do YYYY, h:mm:ss a')) } }
Dado que moment es una biblioteca obsoleta (debido a la mutabilidad), también una biblioteca enorme en términos de tamaño, se recomienda usar otra biblioteca moderna, sush dayjs , que es solo una biblioteca rápida de 2kB que ofrece la misma funcionalidad que moment.
Podrías instalarlo
npm install dayjs --save
luego en su proyecto (use días de complemento específicos js para mostrar su formato específico Do
)
import advancedFormat from 'dayjs/plugin/advancedFormat'; export default{ ... beforeMount() { dayjs.extend(advancedFormat) // use plugin console.log(dayjs().format('MMMM Do YYYY, h:mm:ss a')) }
Ver fragmento de muestra en js puro:
dayjs.extend(dayjs_plugin_advancedFormat); console.log(dayjs().format('MMMM Do YYYY, h:mm:ss a') );
<script src="https://cdnjs.cloudflare.com/ajax/libs/dayjs/1.10.7/dayjs.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/dayjs/1.10.7/plugin/advancedFormat.min.js"></script>