크게 : 레일스 파이프 라인에서 JS를 구성하는 가장 좋은 방법은 무엇입니까?레일스 자산 파이프 라인에서 자바 스크립트 구성
구체적으로 말하자면, 나는 괄목할만한 JS 파일을 가지고 있습니다. application.js
매니페스트와 스프로킷 uglify를 포함 시켜서 좋습니다. 그러나 각각의 개별 JS 파일은 다루기 힘들어지기 시작했으며 코드 정리에 수백 줄의 유틸리티 함수를 파고 들지 않도록 정리하고 싶습니다. 목표가 일종의 네임 스페이스/모듈성이라는 것을 알고 있지만,이를 자산 파이프 라인, 특히 스프로킷 매니페스트와 결합하는 것이 가장 좋은 방법인지 모르겠습니다.
것 이미 간주하고 철저하게 읽었다는 :
네, 자산 파이프 라인에 전체 레일 가이드를 읽었습니다. 나는 스프로킷 지시어가
require
과require_tree
과 같은 작동 방식을 알고 있습니다. 문제는 내가// in, say, controller.js //= require 'utilities' ... more code ... // and in application.js, more confidently //= require 'controller'
처럼 뭔가를 할 수 있도록 ES6
import
명령하는 것과 같이 그 같은 지시를 사용하고자하는 것입니다하지만 난 매니페스트가 사용되는 방법이 아니다 느낌을 얻을, 또는 적어도 그것을 그utilities
에서 한 줄을 바꿀 때마다 불필요한 자산 계층을 다시 컴파일 할 것입니다. 나는 또한 모든 파일을 개별적으로application.js
에서 요구한다고 생각했지만 적절한 모듈성을 제공하지는 못합니다.보석은 Paloma, CommonJS 또는 RequireJS와 유사합니다. 이것들은 잔인한 것처럼 보입니다. 보완하기보다는 파이프 라인을 교체하는 것처럼 보입니다.
- ES6, Babel 또는 Browserify와 같은 "Modern"JS. (나는 아직이 프로젝트들에서 겹치는 부분을 아직 이해하지 못한다는 것을 인정하지만, 나는 그들의 목적을 간략하게 생각한다고 생각한다.) 결국 JS는 그 방향으로 움직이는 것 같지만 과잉이라고 생각된다.
- 꿀꺽 꿀꺽 마심. 이전과 같은 맥락에서 자산 파이프 라인을 과도하게 재 작성해야합니다.
- 레일 5 및 스프로킷 4. 현재 레일 4에 설치되어 있으며 스프로킷 4에는 ES6이 내장되어 있다는 것을 알고 있지만 레일스 5가 공개적으로 공개 될 때까지는 업그레이드를 계획하지 않습니다. 풀어 놓았다.
그럼 어떻게해야합니까? 나는 총알을 물고 이들 중 하나와 함께 갈 필요가 있다고 생각하지만, 나는 어느 것이 가장 합리적인지 알아낼 수 없다. 이 프로젝트는 특히 JS에 의존하지 않지만, 나중에보다는 오히려 그것을 구성하기에 충분합니다.
Google지도에 대해 잠시 전에 답변했는데, 레일스 애플리케이션에서 페이지 별 j를 추출하는 방법에 대한 자세한 내용은 도움이 될 수 있습니다. http://stackoverflow.com/questions/36811056/rails-with-google- maps-type-error-a-is-null/36811816 # 36811816 – Elvn
이미 그 일을하는 방법을 다소 알았습니다. (실제로, 나는 이와 비슷한 것을하고 있습니다.) 문제는'my_map_handler.js'의 아날로그가 무언가 일 때입니다. 나는 썼다, 거대 하, 저 파일을 위해 submodularity를 필요로한다. 기본적으로 필자는 뷰에서 JS를 구성하여 중복 사용되지 않도록합니다. (필자는 어쨌든 괜찮을 것입니다.) 필자가 작성한 JS 파일의 코드 위생과 파이프 라인에서 작업하는 것과 관련이 있습니다. 뼈대. –
차가움. 나는 그저 페이지의 특정성에 관해서는 그 부분을 쓰지 않을 것이라고 생각했다. – Elvn