2013-11-21 108 views
2

我正在创建一个需要第三方js文件的包。根据文档:资产添加文件位于应用程序/资源/ js

http://symfony.com/doc/current/cookbook/bundles/best_practices.html#vendors

捆绑不应该包含第三方代码。由于bundle仅用于网站的一部分,我不想将它包含在我的基本模板文件中 - 我想从树枝文件中调用它,但是我遇到了一个问题。

所有的演示,包括JS似乎引用包名称,但我已经把我的JS在app /资源/公/ JS

如果我使用:

{% javascripts 
    "public/js/jquery.fileupload.js" %} 
    <script src="{{ asset_url }}" type="text/javascript"></script> 
{% endjavascripts %} 

它看起来网页目录。有没有办法使用应用程序目录,我的所有其他js文件都存在?我试图在可行的情况下遵循最佳做法,但为了简单起见,我真的很想将我的js放在一个地方,谢谢阅读!

+0

看看这是否有用http://stackoverflow.com/questions/11192568/symfony2-how-to-share-js-libs-and-css-between-bundles – saamorim

+0

nope我得到一个500响应。我认为这是捣毁路径像../app/..web/..app这不是找到文件 – jriggs

回答

0

您可以通过编译Public目录中的app/Resources来完成。这有点麻烦,但它应该工作。

在* nix,你可以运行:

cd ROOT_TO_YOUR_PROJECT/web/bundles 
ln -s ../../app/Resources/Public common 

基本上,你正在创建符号链接common指向你Public目录。

然后:

{% javascripts 
    "bundles/common/js/jquery.fileupload.js" %} 
    <script src="{{ asset_url }}" type="text/javascript"></script> 
{% endjavascripts %} 
+1

感谢您的答复。似乎有点像解决方法。也许事实上,没有任何简单的方法可以做到这一点,这意味着我应该创建一个Layout或Template Bundle,并将我的所有资产都放在那里。然后我可以通过'Symfony'的方式访问这些文件。再次感谢! – jriggs

相关问题