Alhendin, Spain
Hola!
Me está costando la vida poder actualizar muchos comandos que hace tan sólo unos meses eran válidos!
Por ejemplo:
const express = require('express')
Esto YA NO FUNCIONA. Lanza un error "require is not defined" ... lo que funciona es esto:
import express from 'express'
Y estos middlewares YA NO FUNCIONAN:
app.use(express.json());
app.use(express.urlencoded({
extended: false
}))
Estoy intentando usar algún módulo como 'body-parser' pero no logro usarlo como middleware tampoco, ya que esto tb ha cambiado hace poco... esto NO me funciona:
import bodyParser from 'body-parser';
const jsonParser = bodyParser.json();
const urlencodedParser = bodyParser.urlencoded({ extended: false });
app.use(jsonParser)
app.use(urlencodedParser)
He encontrado un hilo en StackOverflow donde ponen este ejemplo de cómo usarlo a día de hoy, Y FUNCIONA, pero al tener todo en archivos separados (users.js controller + users.js route), no logro que funcione y sigo obteniendo UNDEFINED:
import bodyParser from 'body-parser';
const jsonParser = bodyParser.json();
const urlencodedParser = bodyParser.urlencoded({ extended: false });
app.post('/create', jsonParser, (req, res) => {
console.log(req.body)
Ayuda please
Hola Pablo. Me pasa que no puedo usar la misma forma de exportar el middleware que tú, me sale el error:
Route.get() requires callback functions but got a “object Undefined”
Y sólo haciéndolo de este modo (usando exports al principio, antes de la función) me funciona bien:
exports.verifyToken = (req, res, next) => {
console.log('Accessing middleware')
};
¿Sabes por qué?
Hola Álvaro. A mí no me funciona el detectar el final de la transición con la propiedad elapsedTime y el if(e.elapsedTime === 1) document.body.classList.remove('animate') . ¿Puede que en realidad quede grabado 0.5s en CADA una de esas transiciones de modo que nunca computa 1 segundo entero? ... En su lugar, se me ha ocurrido detectar cuándo termina la segunda transición, o sea, la que tiene como propertyName el "top":
if(e.propertyName === "top") document.body.classList.remove('animate')
Y funciona perfect. :D
Hola Beto! Gracias por el curso, explicas todo muy detenidamente y muy bien!
Creo que cuando no te deja hacer el PUSH al repositorio original y te pide el usuario y demás, es porque aún no has configurado el user.name. A mí me ha dejado hacer el PUSH habiéndo seteado previamente el user.name con mi usuario de GitHub
Buenas a todos, chicos.
Quería escribir unas líneas sobre los problemas que apunté aquí hace unos días. Después de mucho investigar os cuento lo que (al menos a mí) me pasaba:
Usar extensiones .mjs para mis archivos en lugar de .js
Añadir "type": "module" en mi archivo package.json
Lo que yo hice fue esto último, por comodidad. Entonces pensé que los video tutoriales que yo estaba siguiedo quizá estaban desactualizados. De hecho, empecé a tener todos estos problemas que he mencionado en anteriores posts (problemas con require(), con importar y exportar módulos, con algunos middlewares, etc) y a averiguar cómo sustituir ciertas partes de código para que todo me funcionara... Y concluí que estos video-tutoriales que había estado siguiendo simplemente estaban desactualizados.
Pues bien.... después de seguir investigando y aprendiendo, creo que el único problema que estaba teniendo es que había añadido ese key-value ("type": "module") dentro de mi package.json. Esto hace que optes por una metodología y tengas que usar otro tipo de comandos para importar/exportar los módulos además de no enteder igual métodos cono el require()...
He querido escribir esto por si alguien que está empezando a aprender NodeJS como yo empieza a tener estos mismos problemas. Revisad el package.json y sacad el "type": "module" de ahí si es vuestro caso también.
Siento el montón de comentarios y follón jeje, cosas de principiantes.
Gracias por la ayuda de todos modos, Pablo. Por cierto me pareces un profe genial, vaya claridad de ideas y pensamiento estructurado! Gracias por este genial curso!
Cheers! :)
Hola de nuevo, esto es lo que me ha funcionado (dentro de mi archivo users.js de la carpeta "routes"):
import bodyParser from 'body-parser'
const jsonParser = bodyParser.json()
const urlencodedParser = bodyParser.urlencoded({ extended: false })
router.post('/create', urlencodedParser, usersController.createUser)