當我開始一個新的 Rails 專案時,它為我提供了一個模板,其中包含幾個不同的包檔案:Gemfile、package.json 和 yarn.lock。我試圖了解這三個包是否一起作業,或者我是否應該選擇一個。例如,在我的 Gemfile 中,我可以添加“jquery-rails”,但這與將 jQuery 安裝到我的 package.json 檔案中一樣嗎?我無法理解運行 bundle install 和 npm install 之間的區別。
謝謝。
uj5u.com熱心網友回復:
簡而言之,它看起來像這樣:
在 Ruby 中,bundler
分析 中指定的庫(gems)串列Gemfile
,構建依賴樹并將其修復Gemfile.lock
,從不同來源下載 gem
在 JS 中,各種管理器都這樣做:npm
、yarn
、bower
等。默認情況下,Rails 使用yarn
. 他們將所有庫下載到node_modules
檔案夾
package.json
類似于Gemfile
(但更高級,例如您可以在那里定義命令列腳本)。yarn.lock
是類似的Gemfile.lock
因此,bundler
對于 Ruby 和yarn
/npm
對于 JS 庫
uj5u.com熱心網友回復:
Gemfile
是管理 ruby?? gems,whilepackage.json
和yarn.lock
for js 包。
安裝 jQuery via 的好處jquery-rails
是可以讓您輕松地將 jQuery 集成到 Rails 專案中,無論您使用的是什么資產管理器。
另一方面,使用 npm/yarn 安裝 jQuery 允許您直接從原始存盤庫升級包,而無需中介(jquery-rails
在本例中)最終可能讓 gem 無人看管(因為現在他們使用的是 jquery 3.6. 0 而最后一個是 3.6.1)。
就個人而言,我會選擇第二個選項,主要是因為通常讓這些 js/ruby 世界分開作業是一個好習慣,但另一個原因是因為您最終需要它的任何其他 js 庫,可能會遵循相同的步驟就像安裝jQuery一樣,所以以這種方式將它與Rails集成并不是什么大問題。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/507586.html
上一篇:在Ruby中決議哈希