jquery-plugins - 将 jquery 插件添加到 Symfony 2.1 项目

标签 jquery-plugins symfony assets assetic

如何向 Symfony 2.1 项目添加一些 jQuery 插件?

我使用 Composer 安装所有前端资源,因此所有插件都存储在 Symfony/vendor 目录中。

我可以指定要在模板中加载的 JS 文件,如下所示:

{% javascripts filter='?yui_js' output='js/compiled/plugins.js'
    '%kernel.root_dir%/../vendor/author/plugin1/plugin.js'
    '%kernel.root_dir%/../vendor/author/plugin2/plugin.js'
    '%kernel.root_dir%/../vendor/author/plugin3/plugin.js'
%}

调用后:

php ./app/console assetic:dump ...

所有指定的文件将被编译并放置在 Symfony/web 目录下。

但是如果某些插件需要的不仅仅是一个 JS 或 CSS 文件怎么办?如果需要从插件目录(位于网络服务器的文档根目录之外)动态加载一些图像、样式或脚本怎么办?

最佳答案

不幸的是,这是 Assetic 的一个小问题。使用 assetic:dump 将 css 文件合并到一个文件中可能会破坏插件的内部目录结构。它如何从 Assets 转储中幸存下来,很大程度上取决于插件自身的架构。

一个选项 is to use assets:install command将 Assets 文件从 Bundle/Resources/public/文件夹复制或符号链接(symbolic link)到 web/bundles/目录。

我通常做的是将外部库文件(css、js 和图像)直接放在 web/下适当的子文件夹中。当 css 和 js 文件合并并放置到 Web 根目录(使用 assetic:dump)时,可以从正确的子文件夹中找到所有插件文件。此方法在 CDN 环境中也适用。然而,这不是最优雅的解决方案,它稍微违反了所有 bundle (或插件)应该彼此分离的想法。

关于jquery-plugins - 将 jquery 插件添加到 Symfony 2.1 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12995884/

相关文章:

php - Symfony - 通过 ID 获取用户提供者

symfony - sfUser 等价于 Symfony 2

php - Doctrine - 查询相关实体的条件

php - Yii2:具有高级配置的通用 Assets

cocoa - 尝试通过资源库使用 NSMutableData 获取字节并附加视频时会出现内存已满错误

html - 使用 jQuery 插件 LavaLamp

jquery - 如果图像更宽或更高,如何使用 Galleria jQuery 插件使 image_crop 有所不同?

jquery - 与插件相比,使用 jQuery UI 有什么好处?

JQuery 内部文档

react-native - 如何从 React Native 中的 Assets uri 获取文件名