fedeisas / laravel-js-routes

Laravel 4的JavaScript路由

安装次数: 119,494

依赖关系: 0

建议者: 0

安全性: 0

星级: 62

关注者: 5

分支: 11

开放问题: 2

语言:JavaScript

1.6 2014-10-18 22:38 UTC

This package is auto-updated.

Last update: 2024-08-29 04:08:56 UTC


README

Travis Badge Latest Stable Version Latest Unstable Version Total Downloads License

为什么?

我喜欢Laravel 4的路由系统,我经常使用命名路由如route('users.show', array('id' => 1))来生成http://domain.tld/users/1。随着JavaScript框架(AngularJS,EmberJS,Backbone等)的兴起,跟踪前后端之间的路由变化和REST调用变得困难。这个库的目标是将这些命名路由暴露给前端,这样你就可以这样做:Router.route('users.show', {id: 1})并获得相同的结果。

Laravel 5

我没有时间更新这个包到Laravel 5。最终,我将为它创建一个新的存储库。

需求

  • Laravel 4.1

安装

首先通过Composer安装这个包。编辑你的项目composer.json文件,以要求fedeisas/laravel-4-js-routes

{
  "require": {
        "laravel/framework": "4.0.*",
        "fedeisas/laravel-4-js-routes": "1.*"
    },
    "minimum-stability" : "dev"
}

然后,在终端中更新Composer

$ composer update

此操作完成后,最后一步是添加服务提供者。打开app/config/app.php,并将新项目添加到提供者数组中。

'Fedeisas\LaravelJsRoutes\LaravelJsRoutesServiceProvider',

用法

默认情况下,该命令将在你的项目根目录中生成一个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请求或一个补丁。有问题吗?问!我会对所有提交的问题做出回应。

灵感

尽管没有复制代码,但这个包在很大程度上受到了FOSJsRoutingBundle(用于Symfony)的启发。

许可

此软件包是开源软件,受MIT许可的许可。