3

对于我的项目,我使用Highcharts图表库和markItUp jQuery 编辑器。我想以最小的努力使它们保持最新。我已经把它放在我的deps文件中:

[Highcharts]
    git=https://github.com/highslide-software/highcharts.com.git
    target=highcharts

[markItUp]
    git=https://github.com/markitup/1.x.git
    target=markItUp

然后使用资产导入:

{% javascripts filter='?yui_js' output='js/application.js'
    '../app/Resources/public/js/jquery-*.js'
    '../vendor/highcharts/js/highcharts.src.js'
    '../vendor/markItUp/markitup/js/jquery.markitup.src.js' %}
    <script src="{{ asset_url }}" ></script>
{% endjavascripts %}

一切正常。这是一个好习惯吗?以这种方式管理 javascript 库有什么缺点吗?

4

2 回答 2

2

是的,使用 deps 添加库是最佳实践。但是,您应该做两件事:

  1. 如果您有源代码控制(git、svn),请确保它忽略了库文件夹。最佳实践是不在源代码管理中包含外部库,而是在部署时运行 vendor:install 以加载库。
  2. 在许多情况下,您应该添加哈希或版本号以将库锁定到特定版本。这可能不适用于您的情况(因为您说您希望始终使用最新版本),但对于 Symfony 捆绑包之类的东西至关重要。否则,当您运行 vendor:install 时,您将面临将所有内容更新为不受支持的版本的风险(例如,在您使用 2.0 时将捆绑包更新为 SF2.1 的版本)。
于 2012-07-10T20:01:11.197 回答
0

只要您的供应商不破坏某些东西,那就太好了。因此,如果您需要安全,最好将您的供应商锁定到特定的哈希值(在 deps.lock 中)。或者,您可以在 deps 文件中指定版本,但前提是 git 存储库具有分支/标签。有关示例,请参阅标准版 deps 文件。

于 2012-07-10T08:36:19.740 回答