Learn RIOT-JS with Real Code Examples
Updated Nov 22, 2025
Installation Setup
Install via npm: `npm install riot`
Or include via CDN
Import riot and compile tags if needed
Mount components using `riot.mount()`
Include CSS inside components or separately
Environment Setup
Install Node.js
Install Riot via npm or CDN
Set up components folder
Configure module bundler
Mount components to DOM
Config Files
index.js - entry point
components/*.tag - Riot components
assets/*.css/js - static files
services/*.js - utilities
package.json - dependencies and scripts
Cli Commands
No official CLI
Use npm scripts
Bundle with Webpack/Parcel/ESBuild
Optional Riot compiler for .tag files
Include via CDN for small apps
Internationalization
No built-in i18n
Use external libraries like i18next
Dynamic text via bindings
Template-level localization
Manual locale switching
Accessibility
Use semantic HTML
Add ARIA attributes manually
Keyboard navigation via event handlers
Screen reader testing
Focus management inside components
Ui Styling
Scoped CSS inside .tag files
CSS frameworks like Tailwind or Bootstrap
Dynamic class bindings in templates
Minimal JS-driven styling
Manual theme management if needed
State Management
Reactive component state via `this.state`
Parent-to-child and child-to-parent communication
Manual stores if needed
Optional integration with external state libraries
Trigger redraws automatically on state changes
Data Management
Fetch APIs with fetch or Axios
Reactive updates propagate to components
No built-in global store
Manual state management for complex apps
Combine with services for modularity