如何使用Composer将jQuery包自动加载到Laravel



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

我的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/files中。它加载,但作为纯文本,而不是作为js文件。

这一定是我在做的愚蠢的事情,但我想不通。如何正确加载文件?

您不能使用composer自动加载jQuery,因为这意味着您希望使用PHP脚本引擎在服务器上执行Javascript。这永远不会奏效。

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

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

有一个components/jquery包,它使用另一个包来轻松配置文件的放置位置。你应该对此进行调查,阅读自述。它看起来维护起来要好得多,基本上可以完成复制步骤。

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

相关内容

  • 没有找到相关文章

最新更新