I'm new to node js so please forgive me if I say something wrong. I want to create a project and test it locally.
So I've created a node js project with (in same directory):
app.js --> where I create the localhost:8080index.html --> my html main page
test.js scriptThose are my files:
app.js
const express = require('express');
const app = express();
port = 8080;
app.use(express.static(__dirname));
app.listen(port, function(){
console.log('Server in ' + port);
});
index.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>
test.js
import axios from 'axios'
// Non important stuff
But when I try to import npm libraries to test.js script, as shown right above, I get this error
Uncaught TypeError: Failed to resolve module specifier "express".
Relative references must start with either "/", "./", or "../".
And if I try to use require, it shows me this error:
// test.js:1 ==> const axios = require('axios')
Uncaught ReferenceError: require is not defined
at test.js:1
(anonymous) @ test.js:1
EDIT CHANGED MY DIRECTORY My folder is this:
I've changed my directory but still remains the same problem
Previous question: Why is showing me that error? What am I doing wrong?
require is not a built-in javascript function. It is provided by node.js which is server-side runtime environment for javascript. You are not supposed to load npm packages directly into a browser.
If you want to use axios package in a browser environment, you can load it from CDN (or download it and host it locally with a script tag).
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>