2014-10-04 2 views
0

플러그인의 애셋을 레일스에서 ​​관리하는 가장 좋은 방법은 무엇인지 알아 내려고합니다. 예 : 부트 스트랩을 고려해 보겠습니다.레일즈에서 플러그인의 자산 관리

:

App 
|-- assets 
| |-- plugins 
| | |-- bootstrap 
| | | |-- fonts 
| | | |-- css 
| | | | |-- bootstrap.css 
| | | | |-- bootstrap.min.css 
| | | |-- js 
| | | | |-- bootstrap.js 
| | | | |-- bootstrap.min.js 

내가 디렉토리 구조 아래의 사항을 지켜 거짓말하지 마십시오 : 이해

은 "공급 업체"그것을위한 디렉토리 그러나 심지어이

내가 디렉토리 구조 아래 유지하려면

있다

App 
|-- assets 
| |-- fonts 
| |-- css 
| | |-- application.css 
| | |-- bootstrap.css 
| | |-- bootstrap.min.css 
| | |-- common-style.css 
| |-- js 
| | |-- application.js 
| | |-- bootstrap.js 
| | |-- bootstrap.min.js 
| | |-- common-script.css 

위에서 알 수 있듯이 이제 플러그인 추가를 시작하면 파일이 플러그인과 관련하여 모든 애셋을 함께 그룹화하지 않고 일반 폴더로 이동합니다. 그룹화하지 않으면 어지럽게 보일 것입니다. 그렇지 않습니까?

|-- App 
|-- vendor 
| |-- assets 
| | |-- javascripts 
| | |-- stylesheets 
| |-- bootstrap 
| | |-- fonts 
| | |-- css 
| | | |-- bootstrap.css 
| | | |-- bootstrap.min.css 
| | |-- js 
| | | |-- bootstrap.js 
| | | |-- bootstrap.min.js 

내가 디렉토리 구조 아래에 따르도록 싫어 :

|-- App 
|-- vendor 
| |-- fonts 
| |-- assets 
| |-- stylesheets 
| | |-- bootstrap.css 
| | |-- bootstrap.min.css 
| | |-- iCheck.css 
| |-- javascripts 
| | |-- bootstrap.js 
| | |-- bootstrap.min.js 
| | |-- iCheck.js 

답변

1

레일이있다 내가 이해

내가 디렉토리 구조 아래 유지하기 위해 LIKE도있다 "공급 업체"디렉토리가 제 3 자 자산 추가를위한 특별한 디렉토리. 벤더입니다. 그 밑에는 vendor/assets이 있으며 자바 스크립트스타일 시트 하위 디렉토리가 있습니다. 그래서 app/assets 대신 사용하십시오. 후자는 자신의 파일을 저장해야하는 곳입니다.

부트 스트랩과 같은 것을 사용하는 경우 대부분의 플러그인에 해당됩니다. 글쎄, 훨씬 쉽습니다. 대부분의 프레임 워크는 보석으로 포장되어 있습니다. 즉, 애셋 파일을 수동으로 추가하는 것에 대해 걱정할 필요가 없습니다. 애셋 파이프 라인이 모든 것을 처리하기 때문입니다. 기껏해야 매니페스트에 파일을 포함시켜야합니다. 예를 들어 application.js에서

자바 스크립트 파일 :

config.assets.precompile += %w(vendor/custom_dir/*.jpg) 
config.assets.precompile += %w(vendor/custom_dir/*.js) 
: 당신이 한 단계 더 나아가 자신의 디렉토리 구조를 적용하려면

//= require jquery 

것은, 당신이 레일 '설정을 변경해야합니다

당신은 또한 this issue가 도움이 될 수 Rails guides

에 대한 자세한 내용을보실 수 있습니다.

+0

"공급 업체"디렉토리에서 어떻게보아야하는지 간단하게 설명했습니다. – Syed

+0

그런 경우 레일 설정을 변경해야합니다. 나는 나의 대답을 업데이트했다. – Mohamad

관련 문제