xactsystems/js-routing-bundle

A JS routing bundle for Symfony 4+ using webpack. Derived from the FOS JSRoutingBundle. See 3.4 branch for Symfony 3.4.

Installs: 902

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 2

Forks: 0

Open Issues: 0

Type:symfony-bundle

4.4.4 2021-09-03 10:20 UTC

This package is auto-updated.

Last update: 2024-03-29 04:19:24 UTC


README

This bundle allows you to expose your Symfony routes and use them in your webpack managed JavaScript code. It allows you to easily integrate the functionality of the FOSJsRoutingBundle into webpack modules.

Documentation

1) Add JSRoutingBundle to your project

composer require xactsystems/js-routing-bundle

For Symfony 3.4 use:

composer require xactsystems/js-routing-bundle:^3.4

2) Include the routing template in your base Twig template

// templates/base.html.twig

{{ include("@XactJSRouting/js-routing.html.twig") }}

3) Include the JS module in your App.js

// assets/js/App.js

// Import the JS routing scripts
import '../../vendor/xactsystems/js-routing-bundle/assets/js-routing.js';

The actual path to the js-routing.js file may not be exactly as shown, you may need to adjust this for your own project.

4) Using the routing class, exactly as you would with FOS bundle

// Get the URL of your routes
let url1 = Routing.generate('home');
let url2 = Routing.generate('some-other-route', {id: myLocalId, state: myLocalState});

5) For Symfony 3.4, if you are not using Flex and ENV you may need to add the following:

// app/AppKernel.php

    public function registerBundles()
    {
        // You many need to do this to get the render(controller()) Twig method working for XactJSRoutingBundle
        $_ENV["APP_ENV"] = $this->getEnvironment();

And for the Symfony Serializer component:

// app/config/config.yml

framework:
    ...
    # If you haven't already enabled the Symfony Serializer
    serializer: { enabled: true }

Credits

  • Ian Foulds as the creator of this package.
  • William DURAND as author of the FOS bundle.
  • Julien MUETTON (Carpe Hora) for the inspiration.

License

This bundle is released under the MIT license. See the complete license in the bundle:

LICENSE