¿Alguien podría ayudarme a importar una biblioteca a mi proyecto vue3 para poder usarla en todos los componentes?...
Estoy tratando de importar 'momentos.js' a mi proyecto
import { createApp } from "vue" import App from "./App.vue" import moment from "moment" const app = createApp(App) app.use (moment) app.mount("#app") pero cuando trato de console.log(this.moment) desde otro componente, aparece el error de que this.moment no es una función
Puede vincular el momento como una propiedad global en la instancia de Vue durante el enlace del ciclo de vida created de la misma manera.
const { createApp } = require('vue'); import App from "./App.vue"; import moment from 'moment'; const MomentPlugin = function (Vue, options) { Vue.mixin({ created: function () { this.moment = moment } }) } const app = createApp(App) app.use(MomentPlugin).mount("#app"); La función de moment está disponible en el contexto de la plantilla o en cualquier lugar donde la instancia de Vue esté disponible en el alcance.
Para cualquiera que tropiece con esta publicación. Cambié el código a:
import { createApp } from "vue" import App from "./App.vue" import moment from "moment" const app = createApp(App) app.provide("moment", moment) app.mount("#app")dentro de otros componentes:
export default { inject: ["moment"], // Other code can now use "moment" }app.use() es para agregar complementos de Vue a la aplicación. Debería ser posible convertir Moment.js en un complemento; consulte "Escribir un complemento" en la documentación , pero no debería ser necesario.
Simplemente puede importar moment.js en cualquier componente donde desee usarlo y el proceso de agrupación se asegurará de que el código no se duplique en ninguna parte.