frenzy/turbolinks

Frenzy Turbolinks通过Laravel让您的Web应用中的链接跟踪更快

4.0.0 2020-12-03 08:45 UTC

This package is not auto-updated.

Last update: 2024-09-20 02:11:32 UTC


README

Frenzy Turbolinks是将Rails的turbolinks宝石移植到PHP Laravel 6.0+框架的项目。

版本

以下JavaScript库的当前版本被使用

  • turbolinks: v5.2.0

有关Laravel 5.1至5.7的支持,请参阅Frenzy Turbolinks 3.2.3标签

有关Laravel 5.0的支持,请参阅Frenzy Turbolinks 3.0.0标签

有关Laravel 4.1或4.2的支持,请参阅Frenzy Turbolinks 1.0标签

性能

Turbolinks使您的Web应用中的链接跟踪更快。它不是让浏览器在每次页面变化时重新编译JavaScript和CSS,而是保持当前页面实例活动状态,只替换body和head中的标题。

性能改进将根据您使用的CSS和JavaScript的数量而有所不同。当使用大量JavaScript和CSS时,您可以获得高达2倍的性能提升。您可以在这里找到Rails基准测试。

安装

使用Composer

在终端中运行此命令

composer require frenzy/turbolinks

将Turbolinks中间件添加到app/Http/Kernel.php中的$middlewareGroups数组

        \Frenzy\Turbolinks\Middleware\StackTurbolinks::class,

注意:对于Laravel 5.4及以下版本,您必须修改您的config/app.php文件,在providers数组中添加

    Frenzy\Turbolinks\TurbolinksServiceProvider::class

将这些脚本添加到您的composer.json文件中,以自动发布资产

{
   "scripts": {
       "post-install-cmd": [
           "php artisan vendor:publish --provider=\"Frenzy\\Turbolinks\\TurbolinksServiceProvider\" --force"
       ],
       "post-update-cmd": [
           "php artisan vendor:publish --provider=\"Frenzy\\Turbolinks\\TurbolinksServiceProvider\" --force"
       ]
   }
}

将JavaScript文件添加到您的项目中

用法

使用turbolinks需要同时使用该组件包含的javascript库和事件监听器。

JavaScripts

每个脚本的原版coffeescript版本和编译版本都可供使用。

使用turbolinks.js

要启用turbolinks,您只需将编译后的turbolinks javascript添加到您的布局中的<head>部分。

使用Larasset包进行安装

点击这里以自动发布资产。

兼容性

Turbolinksjavascript设计为与完全支持pushState和相关API的任何浏览器一起工作。这包括Safari 6.0+(但不包括Safari 5.1.x!)、IE10+以及最新的Chrome和Firefox。

请注意,由于实例化周期的变化,现有的JavaScript库可能不一定与Turbolinks完全兼容。您可能需要修改它们以与Turbolinks的新事件集一起工作。有关此方面的帮助,请参阅Turbolinks兼容性项目

其他资源

如果您需要有关javascript库及其用法的更多信息,请参阅turbolinks项目。

错误

有关错误或功能请求,请创建一个问题

致谢

本包基于 Symfony 中间件包 Helthe Turbolinks