초경량 설정을 사용하여 Rails 프로젝트 시작
Rails 프로젝트를 만들어야 한다고 가정하면 이 프로젝트는 고전적인 ERB 보기와 PostgreSQL을 사용합니다.다음 명령을 실행하여 my project라는 새 Rails 프로젝트를 만드는 방법입니다.
Ruby 2.7.1과 Rails 6를 사용하고 있습니다.
rails new my-project --database=postgresql
이 명령은 폴더 my 프로젝트를 생성합니다. 그 중에서 Gemfile을 찾을 것입니다. 프로그램에서 사용할 모든 gm를 정의합니다.생성된 GEM 파일의 내용입니다.
나는 항상 생성된 댓글을 삭제하여gems를 더욱 명확하게 이해하는 경향이 있다
source 'https://rubygems.org'
ruby '2.7.1'
gem 'rails', '~> 6.0.3', '>= 6.0.3.4'
gem 'pg', '>= 0.18', '< 2.0'
gem 'puma', '~> 4.1'
gem 'sass-rails', '>= 6'
gem 'webpacker', '~> 4.0'
gem 'turbolinks', '~> 5'
gem 'jbuilder', '~> 2.7'
gem 'bootsnap', '>= 1.4.2', require: false
group :development, :test do
gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
end
group :development do
gem 'web-console', '>= 3.3.0'
gem 'listen', '~> 3.2'
gem 'spring'
gem 'spring-watcher-listen', '~> 2.0.0'
end
group :test do
gem 'capybara', '>= 2.15'
gem 'selenium-webdriver'
gem 'webdrivers'
end
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
마지막 명령을 실행한 후 설치된 Rails 6의 기본 GEM입니다.어플리케이션의 경우 이 모든 것YAGNI이 필요하지 않으므로 GEM 파일을 좀 정리합시다.rails new
명령에 추가 옵션을 추가할 것입니다.실행rails new -h
에서 전체 옵션 목록을 볼 수 있습니다.다시 생성하기 전에 마지막으로 생성된 폴더를 삭제하십시오.이를 위해 다음 명령을 사용할 수 있습니다
sudo rm -r my-project
rails new my-project --database=postgresql --skip-keeps --skip-action-mailer --skip-action-mailbox --skip-action-text --skip-active-storage --skip-action-cable --skip-puma --skip-test --skip-bundle --skip-webpack-install
옵션 설명--skip-keeps
왜?이것은 빈 폴더를git 저장소에 추가하는 것을 피할 수 있습니다. (저장소에 있는 빈 파일을 제출하고 싶지 않습니다.) --skip-action-mailer
왜?나는 이런 것들로 나의 프로젝트를 시작할 필요가 없다--skip-action-mailbox
왜?나는 이런 것들로 나의 프로젝트를 시작할 필요가 없다--skip-action-text
왜?나는 이런 것들로 나의 프로젝트를 시작할 필요가 없다--skip-active-storage
왜?나는 이런 것들로 나의 프로젝트를 시작할 필요가 없다--skip-action-cable
왜?나는 이런 것들로 나의 프로젝트를 시작할 필요가 없다--skip-puma
왜?Puma 웹 서버는 생산 환경에 적용되지만 개발에는 기본 WebBrick 웹 서버--skip-test
왜?RSpec를 사용하므로 기본 Minitest--skip-bundle
왜?GEM 파일을 변경한 후 수동으로 실행bundle install
명령--skip-webpack-install
왜?GEM 파일을 변경한 후rails webpacker:install
.마지막 명령을 실행하면 생성되는 Gemfile입니다.
source 'https://rubygems.org'
ruby '2.7.1'
gem 'rails', '~> 6.0.3', '>= 6.0.3.4'
gem 'pg', '>= 0.18', '< 2.0'
gem 'sass-rails', '>= 6'
gem 'webpacker', '~> 4.0'
gem 'turbolinks', '~> 5'
gem 'jbuilder', '~> 2.7'
gem 'bootsnap', '>= 1.4.2', require: false
group :development, :test do
gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
end
group :development do
gem 'web-console', '>= 3.3.0'
gem 'listen', '~> 3.2'
gem 'spring'
gem 'spring-watcher-listen', '~> 2.0.0'
end
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
더 많은 GEM 파일 정리rails new
명령 옵션을 사용하여 Gemfile을 정리했지만, 필요하지 않은 gm를 수동으로 삭제하여 더 많은 정리를 할 수 있습니다.이렇게 하라고.우리가 보존할 수 있는 보석
rails
및 pg
gems는 왜 이 두 gems가 Rails와 PostgreSQL을 사용하여 응용 프로그램을 개발하는 기초인지sass-rails
과webpacker
gems가 sprokes(기본 CSS bundler)와 WebPack(기본 JS bundler)turbolinks
gem이 왜 페이지 사이의 내비게이션을 가속화해야 하는가bootsnap
gem이 응용 프로그램의 불러오기를 최적화하기 위해 왜 이gem가 필요한가byebug
과web-console
gems는 왜 이 두 개의gems가 디버깅 응용 프로그램에 유용한가spring
,spring-watcher-listen
과listen
gems는 왜 이 세 개의gems가 캐시를 통해 흔히 볼 수 있는 조작(예를 들어 rails 컨트롤러, 테스트 실행 등)을 통해 협동 작업을 통해 개발을 가속화하는가tznfo-data
왜 이gem이not necessary on unix-based systems(Mac 또는 Ubuntu)인지, 그래서 나처럼 Mac이나 Ubuntu를 사용한다면 삭제할 수 있다jbuilder
API 개발에서 자주 사용하는 JSON 데이터를 사용하지 않으려는 이유source 'https://rubygems.org'
ruby '2.7.1'
gem 'rails', '~> 6.0.3', '>= 6.0.3.4'
gem 'pg', '>= 0.18', '< 2.0'
gem 'sass-rails', '>= 6'
gem 'webpacker', '~> 4.0'
gem 'turbolinks', '~> 5'
gem 'bootsnap', '>= 1.4.2', require: false
group :development, :test do
gem 'byebug'
end
group :development do
gem 'web-console', '>= 3.3.0'
gem 'listen', '~> 3.2'
gem 'spring'
gem 'spring-watcher-listen', '~> 2.0.0'
end
플랫폼 섹션byebug
을 삭제했습니다.유닉스 기반 시스템의 기본 플랫폼은 루비이기 때문에 Windows에서 개발하지 않으려고 하기 때문에 플랫폼 파라미터는 필요하지 않습니다이런 방법의 단점 중 하나는 내가 여기서 보여준 것처럼 이 경량급 설정을 시작하려면 매번 같은 긴 명령을 실행해야 한다는 것이다
rails new my-light-project --database=postgresql --skip-keeps --skip-action-mailer --skip-action-mailbox --skip-action-text --skip-active-storage --skip-action-cable --skip-puma --skip-test --skip-bundle --skip-webpack-install
이 긴 명령을 약간 줄일 수 있는 로고를 가리키는 단축키가 있습니다. rails 새 명령 옵션 단축키-d postgresql
대체 --database=postgresql
-M
대체 --skip-action-mailer
-C
대체 --skip-action-cable
-P
대체 --skip-puma
-T
대체 --skip-test
-B
대체 --skip-bundle
rails new my-light-project -d postgresql --skip-keeps -M --skip-action-mailbox --skip-action-text --skip-active-storage -C -P -T -B --skip-webpack-install
네, 좋아요. 그래도 길어요.따라서 더 좋은 방법은 긴 명령을 .railsrc
파일로 이동하는 것입니다. here이렇게 로고를
.railsrc
파일에 넣기만 하면 됩니다.--database=postgresql
--skip-keeps
--skip-action-mailer
--skip-action-mailbox
--skip-action-text
--skip-active-storage
--skip-puma
--skip-action-cable
--skip-test
--skip-bundle
--skip-webpack-install
로고를 .railsrc
파일로 이동한 후 이 명령만 실행할 수 있습니다. rails new my-project
파일에 정의된 옵션을 기반으로 변경 사항을 적용하여 rails 프로젝트를 만듭니다. .railsrc
경량 항목을 작성하는 모든 단계 요약
.railsrc
rails new my-project
bundle install
rails webpacker:install
rails db:setup
rails s
마지막 조언은 영원히 가장 간단한 것부터 시작하고, 가장 간단한 것부터 성장하는 것이다. 당신이 지금 필요로 하지 않는, 아마도 당신이 지금 필요로 하지 않는 미지의 것부터 시작하는 것이 아니다.
Reference
이 문제에 관하여(초경량 설정을 사용하여 Rails 프로젝트 시작), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/foxhard/starting-your-rails-project-with-an-ultra-light-setup-2dc3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)