
Security News
Meet the Socket Team at RSAC and BSidesSF 2025
Join Socket for exclusive networking events, rooftop gatherings, and one-on-one meetings during BSidesSF and RSA 2025 in San Francisco.
@lwce/router
Advanced tools
@lwce/router
A lightning web component for building declarative routing within single-page applications.
npm install --save @lwce/router
{"npm": "@lwce/router"}
to your lwc.config.json
for module resolution. See exampleNote: it is highly recommended that the synthetic-shadow
be used.
Currently declarative routing is impossible with the native shadow dom,
because slotted elements are always rendered (whether active or not).
The primary component which must wrap all other components that have routing applied.
Props:
base
: The base URL for all locations. If your app is served
from a sub-directory on your server, you’ll want to set this to the
sub-directory. A properly formatted basename should have a leading
slash, but no trailing slash.
Example:
<lwce-router base="/my-app">
...
</lwce-router>
Defines a route who's content will be rendered when the URL is active
Props:
children
: Whatever HTML is passed within the slot will only be rendered if the URL is active.
path
: Any valid URL path or array of paths that path-to-regexp@^1.7.0 understands.
strict
: When true, a path that has a trailing slash will only match a
location.pathname with a trailing slash
exact
: When true, will only match if the path matches the
location.pathname exactly
sensitive
: When true, will match if the path is case sensitive.
default
: When true, will match if no other paths are matched. Use for 404 pages.
Example:
<lwce-route path="/products/:productId">
<my-product></my-product>
</lwce-route>
Define a link to navigate between your routes
Props:
title
: The accessible text representing your link
href
: A string representation of your destination. This can be a relative path.
class-name
: Set a class to style your link
Example:
<lwce-link class-name="styled-link" path="/products/1234" title="Product details">
Product details
</lwce-link>
Use the routeParams
wire adapter to access URL parameters
Example:
import { LightningElement, api, wire } from 'lwc';
import { routeParams } from '@lwce/router';
export default class Link extends LightningElement {
@wire(routeParams) params;
}
And usage within the template:
<template>
<h1>Product: {params.productId}</h1>
</template>
Use the history
wire adapter to imperatively change routes.
Example:
import { LightningElement, api, wire } from 'lwc';
import { history } from '@lwce/router';
export default class Link extends LightningElement {
@wire(history) history;
onClickHandler(e) {
this.history.push('/settings');
}
}
FAQs
A LWC router that supports server-side rendering
We found that @lwce/router demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Join Socket for exclusive networking events, rooftop gatherings, and one-on-one meetings during BSidesSF and RSA 2025 in San Francisco.
Security News
Biome's v2.0 beta introduces custom plugins, domain-specific linting, and type-aware rules while laying groundwork for HTML support and embedded language features in 2025.
Security News
Next.js has patched a critical vulnerability (CVE-2025-29927) that allowed attackers to bypass middleware-based authorization checks in self-hosted apps.