2013-11-21 111 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

相關問題