Introduction to LiveReload
LiveReload is a powerful tool that dramatically improves the web development experience. By automatically reloading web pages when files are modified, LiveReload helps developers to see the effect of their changes in real time without the need for manual refreshing.
Key Features and APIs of LiveReload
Getting Started with LiveReload
```python from livereload import Server, shell server = Server() # Watch a file for changes and call a shell command server.watch('static/style.css', 'make css') # Serve files from the current directory server.serve(root='.') ```
Simple File Watching
```python server.watch('path_to_file_or_directory') ```
Watch a specific file or an entire directory for changes.
Specify a Shell Command
```python server.watch('assets/js/app.js', shell('make js')) ```
Whenever the specified file changes, execute a shell command.
Extensive File Watching
```python def compile_assets(): print("Assets compiled!") server.watch('assets/', compile_assets) ```
Run a Python function when changes are detected in the directory.
Using WebSockets for Automatic Refreshing
```python from livereload import Server server = Server() server.watch('static/style.css') server.serve(root='.', livereload_port=35729) ```
Using WebSockets, this setup ensures that the browser reloads the webpage whenever there are changes to the CSS file.
Full Example Application
Here’s a comprehensive example that brings together various LiveReload features:
```python from livereload import Server def rebuild_js(): print('JavaScript rebuild complete!') def rebuild_css(): print('CSS rebuild complete!') # Initialize the LiveReload server server = Server() # Watch JavaScript files server.watch('assets/js/', rebuild_js) # Watch CSS files server.watch('assets/css/', rebuild_css) # Serve the static files from the "public" directory server.serve(root='public', port=5500) ```
This script sets up a dynamic environment where JavaScript and CSS changes automatically trigger corresponding rebuild functions, and the changes are immediately reflected in the served web pages.
This promotes a faster and more efficient development process, enhancing productivity and reducing repetitive workflow.
Overall, LiveReload is an invaluable tool for web developers that supports a more interactive and efficient development experience.
Hash: b916012df34283789ca24ffdd47621dc3e24bbe71590b9a9c61bc7ea8d62ed14