I have the following file locations :
file:///Users/MyName/Developer/sitename/scripts (contains all .js files..)
file:///Users/MyName/Developer/sitename/css (contains all .css files..)
file:///Users/MyName/Developer/sitename/images (contains all .jpg/png/etc. files..)
file:///Users/MyName/Developer/sitename/sitename.html
file:///Users/MyName/Developer/sitename/server.js
Inside sitename.html
I load all necessary files as follows for example :
<html>
<head>
<script src="scripts/somefile.js"></script>
</head>
...
</html>
So whenever I open up file:///Users/MyName/Developer/sitename/sitename.html
everything works fine.
However, whenever I try to load file:///Users/MyName/Developer/sitename/sitename.html
via a local Node.js server that I've setup (server file location : file:///Users/MyName/Developer/sitename/server.js
) as follows :
var http = require("http");
var fs = require("fs");
fs.readFile('./sitename.html', function (err, html)
{
if (err) throw err;
http.createServer(function (request,response)
{
// serve site
if (request.url === "/")
{
response.writeHeader(200, {"Content-Type": "text/html"});
response.write(html);
}
response.end();
}).listen(8080);
});
sitename.html
is found and loaded but all the other files that are supposed to load through it fail to load because they're all given the prefix http://localhost:8080/
(http://localhost:8080/scripts/somefile.js
is not a valid file path for example).
It looks like as soon as the server is created (inside http.createServer(.....);
) the context changes and the parent directory now becomes http://localhost:8080/
instead of file:///Users/MyName/Developer/sitename/
which makes sense I guess but is not very helpful when using files that are still stored locally.
How do I work around that? Is the fact that I'm storing server.js
(just for the time being) in the same directory making things even more confusing?
Thanks!
In your node application, you can use node-static module to serve static resources. The node-static module is an HTTP static-file server module with built-in caching. First of all, install node-static module using NPM as below. After installing node-static module, you can create static file server in Node.
Here is an example of a script that will serve the files in the current directory: var fs = require('fs'), http = require('http'); http. createServer(function (req, res) { fs. readFile(__dirname + req.
To serve static files for Go 1.12+ in the standard environment, you define the handlers in your app. yaml file using either the static_dir or static_files elements. The content in the static files or static directories are unaffected by the scaling settings in your app.
Node static serverA simple http server to serve static resource files from a local directory.
The easiest solution I found on serving local static files is to use Http-Server.
Its usage is dead simple. After installing it globally
npm install http-server -g
Go to the root directory you want to serve
cd <dir>
http-server
That's it!
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With