Soy nuevo en node js , así que perdónenme si digo algo mal. Quiero crear un proyecto y probarlo localmente. Así que creé un proyecto de node js con (en el mismo directorio):
app.js --> donde creo el localhost:8080index.html --> mi página principal htmltest.jsEsos son mis archivos:
aplicación.js
const express = require('express'); const app = express(); port = 8080; app.use(express.static(__dirname)); app.listen(port, function(){ console.log('Server in ' + port); });índice.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <script type="module" src="test.js"> </script> </body> </html>prueba.js
import axios from 'axios' // Non important stuff Pero cuando intento importar bibliotecas npm al script test.js , como se muestra arriba, aparece este error
Uncaught TypeError: Failed to resolve module specifier "express". Relative references must start with either "/", "./", or "../". Y si trato de usar require , me muestra este error:
// test.js:1 ==> const axios = require('axios') Uncaught ReferenceError: require is not defined at test.js:1 (anonymous) @ test.js:1EDITAR CAMBIÓ MI DIRECTORIO Mi carpeta es esta:
He cambiado mi directorio pero sigue siendo el mismo problema
Pregunta anterior: ¿Por qué me muestra ese error? ¿Qué estoy haciendo mal?
require no es una función javascript incorporada. Lo proporciona node.js, que es un entorno de tiempo de ejecución del lado del servidor para javascript. Se supone que no debe cargar paquetes npm directamente en un navegador.
Si desea utilizar el paquete axios en un entorno de navegador, puede cargarlo desde CDN (o descargarlo y alojarlo localmente con una etiqueta de secuencia de script ).
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>