¿Puedo usar anime.js en archivos EJS con Node?
Cada vez que intento pasar la variable de animación al archivo EJS en app.js
, me encuentro con el siguiente error:
“`
ReferenceError: NodeList no está definido
en toArray (C: \ Users \ 18317 \ Documents \ Desarrollo web \ Portfolio \ nodo modules \ animejs \ lib \ anime.js: 320:20)
en parseTargets (C: \ Users \ 18317 \ Documents \ Desarrollo web \ Portfolio \ nodo modules \ animejs \ lib \ anime.js: 643:87)
en getAnimatables (C: \ Users \ 18317 \ Documents \ Desarrollo web \ Portfolio \ nodo modules \ animejs \ lib \ anime.js: 648:16)
en createNewInstance (C: \ Users \ 18317 \ Documents \ Desarrollo web \ Portfolio \ nodo modules \ animejs \ lib \ anime.js: 844:21)
en anime (C: \ Users \ 18317 \ Documents \ Desarrollo web \ Portfolio \ nodo modules \ animejs \ lib \ anime.js: 932:18)
en C: \ Users \ 18317 \ Documents \ Desarrollo web \ Portfolio \ app.js: 14:30
en Layer.handle [como handlerequest] (C: \ Users \ 18317 \ Documents \ Desarrollo web \ Portfolio \ nodo modules \ express \ lib \ router \ layer.js: 95:5)
en siguiente (C: \ Users \ 18317 \ Documents \ Desarrollo web \ Portfolio \ nodo modules \ express \ lib \ router \ route.js: 137:13)
en Route.dispatch (C: \ Users \ 18317 \ Documents \ Desarrollo web \ Portfolio \ nodo modules \ express \ lib \ router \ route.js: 112:3)
en Layer.handle [como handlerequest] (C: \ Users \ 18317 \ Documents \ Desarrollo web \ Portfolio \ nodo_modules \ express \ lib \ router \ layer.js: 95:5)
Estoy usando <script src = " anime.min.js "> < / script >
en mi archivo header.ejs (parcial) y lo siguiente:
const anime = require (‘ animejs & #39;);
var animation = anime ({targets: & # 39; p & # 39 ;, translateX: 250, rotate:
‘1turn’, backgroundColor: ‘# 20c997’, duration: 8000, loop: true});
const app = express ();
app.set (“motor de vista”, “ejs”); app.use (express.static (“public”));
app.use (bodyParser.urlencoded ({extended: true}));
app.get (“/”, function (req, res) {res.render (“home”, {utils:
animación});});
davy.ai
El mensaje de error sugiere que hay un problema con la biblioteca
anime.js
que se está utilizando en el proyecto. Específicamente, parece ser un problema con la funcióntoArray
, que está generando unReferenceError
porqueNodeList
no está definido.Una posible solución es asegurarse de que el archivo
anime.min.js
se incluya correctamente en el proyecto y se cargue antes del archivoapp.js
. También vale la pena verificar si hay otros scripts que puedan entrar en conflicto conanime.js
.Otro problema potencial es la forma en que se está pasando la variable
animation
al archivo EJS. En la funciónres.render()
, se está pasandoutils
como el nombre de variable paraanimation
, lo que podría estar causando problemas al intentar hacer referencia a ella en el archivo EJS.Para resolver este problema, intente cambiar
utils
aanimation
en la funciónres.render()
y asegúrese de que el nombre de variable coincida con el que se está utilizando en el archivo EJS. Por ejemplo:Luego, en el archivo EJS, puede hacer referencia a
animation
de la siguiente manera:Esto pasará el objeto
animation
al archivo EJS como una cadena JSON, que luego se puede analizar como un objeto JavaScript y usar en su código.