rpsimao / laravel-js-routing
Laravel 5 包用于从 JavaScript 访问路由
Requires
- php: >=7.1.0
README
此包允许您从您的 JavaScript 中访问 Laravel 的路由。
主要功能是可以在本地和生产环境中轻松使用。
在本地环境中,JS 路由在每个请求中被重写。在生产环境中,JS 路由被导出到一个静态文件中以提高性能。
安装
将此行添加到您的 composer.json 并运行 composer update
"delormejonathan/laravel-js-routing": "~2.0"
仅限 (Laravel <5.5) 将提供者添加到 app.php 的 providers 部分
DelormeJonathan\LaravelJsRouting\LaravelJsRoutingServiceProvider::class,
仅限 (Laravel <5.5) 将外观添加到 app.php 的 aliases 部分
'JSRouter' => DelormeJonathan\LaravelJsRouting\Facades\JSRouter::class,
将资产发布到公共文件夹
php artisan vendor:publish --tag=public --force
用法
在您的应用程序模板中调用 JSRouter 插件
<script type="text/javascript" src="{{ asset('packages/rpsimao/laravel-js-routing/jsrouter.js') }}"></script>
并在本地动态导入路由文件,在生产中静态导入
@if (App::environment() == 'production') <script type="text/javascript" src="/js/routes.js"></script> @else <script type="text/javascript">{!! JSRouter::generate() !!}</script> @endif
现在,您可以在 JavaScript 中使用它
JSRouter.action('UsersController@edit', { id : 5 }); // For routes without a name JSRouter.route('mycustomroutename'); // For routes with a name
别忘了在生产中导出路由。您可以在 'dump' 字词后添加自定义路径。默认路径是:public/js/routes.js
php artisan laravel-js-routing:dump
php artisan laravel-js-routing:dump public/mycustompath/mycustomfile.js
配置
您可以使用配置文件更改默认路径。您必须发布配置文件
php artisan config:publish delormejonathan/laravel-js-routing
然后在 app/config/packages 中修改它。
常见问题
浏览器控制台报告“未检测到路由”
请确保您在 routes.php 中至少有一个具有名称或控制器的路由。
我为 Laravel 添加了路由,但 JSRouter 没有看到它
如果您处于生产环境,请记住在更改 routes.php 时使用 php artisan laravel-js-routing:dump 导出您的路由
如果您处于本地环境,请记住您的路由需要指向一个控制器。它可以有一个名称(可选)。此包不与 Closure 路由一起使用。
贡献 & 改进
当前该插件相对基本。它需要一个更好的解析引擎来管理可选参数。
问题或功能
如果您遇到问题,请随时提交问题或直接联系我。
致谢
- FOSJsRoutingBundle 的启发。
许可
此项目采用 MIT 许可证。