macellan / laravel-js-routes
从JavaScript生成Laravel路由
2.2
2022-09-17 17:18 UTC
Requires
- php: >=7.2.0
- illuminate/console: >=5.5
- illuminate/filesystem: >=5.5
- illuminate/routing: >=5.5
- illuminate/support: >=5.5
Requires (Dev)
- illuminate/events: >=5.5
- mockery/mockery: ^1.0
- phpunit/phpunit: >=8.0
README
原因
我喜欢Laravel的路由系统,并且经常使用像route('users.show', array('id' => 1))
这样的命名路由来生成http://domain.tld/users/1
。随着JavaScript框架(AngularJS、EmberJS、Backbone等)的兴起,很难跟踪后端和JavaScript REST调用之间路由的变化。这个库的目标是将这些命名路由暴露给前端,这样你就可以这样做:Router.route('users.show', {id: 1})
并得到相同的结果。
安装
您可以通过composer安装此包
composer require macellan/laravel-js-routes
使用
默认情况下,该命令将在您的项目根目录下生成一个routes.js
文件。这包含了您的应用程序中所有的命名路由。就这样!您可以开始使用了。从终端运行artisan
命令以查看新的routes:javascript
命令。
php artisan routes:javascript
懒提示如果您使用Grunt,可以为路由文件变化设置一个监视器,以便在文件变化时运行此命令。
参数
选项
JavaScript使用
您必须将生成的文件包含在您的视图(或您的资产构建过程)中。
<script src="/path/to/routes.js" type="text/javascript">
然后您在全局范围内有一个Routes
对象。您可以使用它作为
Router.route(route_name, params)
示例
Router.route('users.show', {id: 1}) // returns http://dommain.tld/users/1
如果您分配了不在URI上存在的参数,它们将被附加为查询字符串
Router.route('users.show', {id: 1, name: 'John', order: 'asc'}) // returns http://dommain.tld/users/1?name=John&order=asc
贡献
composer install --dev ./vendor/bin/phpunit
npm install -g grunt-cli npm install grunt travis --verbose
除了完整的测试套件外,还有Travis集成。
发现了一个错误?
请告诉我!发送一个pull request或一个补丁。有问题吗?问吧!我会对所有提交的问题做出回应。
灵感
尽管没有复制代码,但这个包在很大程度上受到了FOSJsRoutingBundle(用于Symfony)的启发。
许可证
此软件包是开源软件,许可协议为MIT许可