Adka server
HTTP file server with live reloading.
Simple HTTP server to serve your static files and watch for file changes. If a HTML file is served, a JavaScript snippet will be injected to automatically reload when an update is detected.
deno install -f --allow-read --allow-net https://raw.githubusercontent.com/apiel/adka_server/master/server.ts
# or without installation
deno run --allow-read --allow-net https://raw.githubusercontent.com/apiel/adka_server/master/server.ts
By default, it serve the current folder. You can as well specify the path as parameter:
server ./site
The default port is 8080. To specify the port --port=3000
:
server ./site --port=3000
Trigger reload
To manually trigger a reload, you can send a request to the entrypoint /adka-live-reload
, e.g.:
http://127.0.0.1:8080/adka-live-reload
You can as well, specify the path to reload /adka-live-reload?pathname=/the/page
, this will then only reload the pages with the pathname /the/page
.
Use the module
If you need to build your own live reloading server, you can use the Adka server module:
import { server } from 'https://raw.githubusercontent.com/apiel/adka_server/master/mod.ts';
server({ port: 3000, root: './site' });
In case you want to change the watching logic, you can as well implement your own watcher:
import { server, reloadAll } from 'https://raw.githubusercontent.com/apiel/adka_server/master/mod.ts';
server({ port: 3000, root: './site', watcher: async (root: string) => {
// let's reload the browser every 5 sec
setInterval(reloadAll, 5000);
} });