【问题标题】:how to autoload jQuery package to Laravel with Composer如何使用 Composer 将 jQuery 包自动加载到 Laravel
【发布时间】:2014-04-11 18:01:49
【问题描述】:

我刚刚开始使用 Laravel / Composer。我希望 jquery 使用 composer 自动加载器加载。

我的composer.json 文件如下所示:

{
"name": "laravel/laravel",
"description": "The Laravel Framework.",
"keywords": ["framework", "laravel"],
"license": "MIT",
"require": {
    "laravel/framework": "4.1.*",
    "frameworks/jquery": "1.*"
},
"autoload": {
    "classmap": [
        "app/commands",
        "app/controllers",
        "app/models",
        "app/database/migrations",
        "app/database/seeds",
        "app/tests/TestCase.php"
    ],
    "files":[
        "vendor/frameworks/jquery/jquery.min.js"
    ]
},
"scripts": {
    "post-install-cmd": [
        "php artisan clear-compiled",
        "php artisan optimize"
    ],
    "post-update-cmd": [
        "php artisan clear-compiled",
        "php artisan optimize"
    ],
    "post-create-project-cmd": [
        "php artisan key:generate"
    ]
},
"config": {
    "preferred-install": "dist"
},
"minimum-stability": "stable"

}

请注意,我已将 jquery 添加到 require 列表中,并将 jquery.min.js 添加到 autoload / 文件中。它加载,但作为纯文本,而不是作为 js 文件。

这一定是我正在做的愚蠢的事情,但我无法弄清楚。如何让文件正确加载?

【问题讨论】:

    标签: php jquery composer-php


    【解决方案1】:

    你不能用 composer 自动加载 jQuery,因为那意味着你想用 PHP 脚本引擎在服务器上执行 Javascript。这永远行不通。

    您要做的是在您使用 PHP 创建的页面中包含 jQuery。可能将其作为加载它的 javascript 标记包含在内。这意味着您必须配置一种方法,以使服务器上的 jquery.min.js 文件可用于 HTTP 访问。

    frameworks/jquery 包没有关于如何执行此操作的任何建议。它只是抓取文件并将其添加到供应商文件夹中。如果您希望它对浏览器可用,您可以将其复制到文档根目录中,设置一个读取文件并将其发送到浏览器的脚本,为其设置符号链接,或者为该供应商目录添加别名。所有这些解决方案都不是很好,但如果被问到我更喜欢复制步骤。

    有一个components/jquery package 使用another package 允许轻松配置文件的放置位置。 You should investigate that, read the README. 它看起来更易于维护,并且基本上会执行复制步骤。

    【讨论】:

    • 这就是我害怕的。我希望 js 有一个解决方法,因为如果你不能充分利用它,那么在 packagist 中拥有一个 js 库是没有意义的。
    【解决方案2】:

    我可能错了,但是 composer 是用来自动加载 php 文件的。它允许您在不包含它的情况下调用某些东西。这一切都在服务器端。我不认为你可以做你想做的事。

    【讨论】:

      猜你喜欢
      • 2013-02-24
      • 2013-02-17
      • 1970-01-01
      • 2013-06-16
      • 2016-06-10
      • 2015-06-13
      • 2012-09-30
      • 1970-01-01
      • 2017-01-26
      相关资源
      最近更新 更多