delormejonathan / laravel-js-routing
Laravel 4/5 包,用于从 JavaScript 访问路由
Requires
- php: >=5.4.0
README
此包允许您从 JavaScript 中访问 Laravel 的路由。
主要功能是可以在本地和生产环境中轻松使用。
在本地环境中,每次请求都会重写 JS 路由。在生产环境中,JS 路由会被导出到一个静态文件中,以提高性能。
如果您使用 Laravel 4,请阅读此文档: Laravel 4 README
安装
将以下行添加到您的 composer.json 文件中,并运行 composer update
"delormejonathan/laravel-js-routing": "~2.0"
将提供者添加到 app.php 文件中的 providers 部分
DelormeJonathan\LaravelJsRouting\LaravelJsRoutingServiceProvider::class,
将外观添加到 app.php 文件中的 aliases 部分
'JSRouter' => DelormeJonathan\LaravelJsRouting\Facades\JSRouter::class,
将资源发布到公共文件夹
php artisan vendor:publish --tag=public --force
使用方法
在您的应用程序模板中调用 JSRouter 插件
<script type="text/javascript" src="{{ asset('packages/delormejonathan/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 许可证的许可。