2016-11-18 2 views
1

웹 개발을 위해 Go를 사용하기 시작했지만 자산 관리에 문제가 있습니다. Rails의 자산 파이프 라인과 같은 도구를 사용하여 css/js 파일 (SASS는 물론)을 관리 (및 압축)하는 것이 더 좋지만 CSS 및 js 파일로 작업 할 수 있습니다.이동 중에 SASS 렌더링

저는 css와 js로 작업 할 수 있지만 SASS에서는 작동하지 않습니다. Golang 프로젝트에서 SASS를 사용하는 방법이 있습니까? 나는 프레임 워크를 사용하지 않는다.

감사합니다.

+0

나는 노드 스택을 사용하여 모든 transpile 물건을 관리합니다. 그런 다음 이동 http 서버에는 일반 http 파일 서버가 있습니다. –

+0

@ mh-cbon js/sass/css 소스를 컴파일 한 후 배포를 위해 git 소스로 커밋합니까? 내가 올바르게 이해한다면 그것이 프로세스가 작동하는 방법입니다. – dingalingchickenwiing

+0

그것은 (dev에서 배포까지) 전체 워크 플로우의 많은 부분에 달려 있습니다. 대부분의 팀에서는 매우 단순합니다. –

답변

0

Ruby on Rails에 익숙하지 않지만 레일즈에서 루비가 소스를 관리하여 배포 클라이언트 측 자산 전환 (폴리 실 (polyfills), 트랜스 필링 (transpiling), 축소, SASS/SCSS to CSS, XScript를 JavaScript로 컴파일하기 등).

웹 개발 프레임 워크는 개발자가 손쉽게 시도하고 쉽게 할 수 있지만 (레일은 루비가 아니라 레일을 사용한다고 가정합니다.) 정확하게 Go가 수행하는 방식이 아닙니다.

Go는 프레임 워크 + 언어가 아닌 컴파일러, 몇 가지 빌드 도구 및 작성, 테스트, 문서화 및 들여 쓰기 방법에 대한 표준 집합입니다 (들여 쓰기, 테스트 및 문서 부분은 선택 사항 임).).

적어도 go와 함께 서버를 만든 방식의 go 서버는 클라이언트와 다소 분리되어 있습니다. 서버 정적 애셋이 필요한 경우 (예 : 축소 된 JavaScript, 스타일 시트, html 및 jsons를 데이터베이스의 정보와 함께 제공합니다 ...)하지만 서버가 실제로 무엇인지는 신경 쓰지 않습니다. 서버 . go toolchain은 golang 응용 프로그램 (예 : 상기 서버)을 빌드하기 위해 만들어 지지만 클라이언트 측 웹 응용 프로그램 (js, css 및 html로 구성된 응용 프로그램)을 빌드하기 위해 만들어지지 않았습니다.

이제 css, js, html을 "묶어서"작성하는 go와 비슷한 프레임 워크를 사용할 수 있습니다. 그러나 나는 어떤 것이 있는지를 모르고 있습니다.

go toolchian을 즐기고 클라이언트 측 개발에 사용하려는 경우 클라이언트 측 코드 (즉, javascript) https://github.com/gopherjs/gopherjs으로 전환하는 컴파일러를 사용할 수 있습니다. 하지만, 이런 성능은 이것이 당신에게주는 것이 아니며, 당신은 이동의 하위 집합으로 작업하고 있습니다. 그것의 정말로 자바 스크립트를 작성하는 다른 방법.

그러나 귀하의 경우에 가장 필요한 것은 클라이언트 측의 "빌드 체인"입니다. 여기가 2016 년에 띄는 (내 생각에) 3 도구 :

NPM 웹팩 이물

을 나는이 도구를 사용하는 방법에 대한 에세이를 쓸 수는 있지만, 여기에 요약입니다 :

웹팩 사용 자바 스크립트에서 babel을 호출하고, CSS로 CSS를 컴파일하고, 자산을 축소하고, js가 가져 오기 구문으로 작성되도록 허용하는 등의 작업을 수행하는 코드 용 "파이프 라인"을 작성합니다. 실제로, 해당 js의 swis army knife 개발 무기고와 아마도 당신이 이전에 사용했던 기능과 일치합니다.

Npm은 노드 패키지 관리자이지만 서버용 노드를 사용하지 않더라도 마찬가지입니다. 응용 프로그램을 빌드 (webpack과 같은)하고 모듈을 다운로드하기위한 종속성 추적을 유지하는 것이 유용 할 수 있습니다. 또한 다양한 스크립트와 배포를 실행하는 데 유용합니다. npm과 weback을 모두 사용하는 과도한 과잉 사용이 필요할 수 있습니다. package.json (npm의 경우 config 파일)이있는 경우 webpack 환경을 설정하는 것이 더 쉽습니다. 프로젝트의

Bower는 실제로 작은 프로젝트에는 사용하지 않습니다. 하지만 기본적으로 자바 스크립트 라이브러리 저장소 (다른 것들 중에서)는 "bower install jquery"를 작성하고 현재 프로젝트에 jQuery를 다운로드했다고 쉽게 말할 수 있습니다.

또 다른 많은 도구가 있지만, 이것들은 내가 좋아하는 것들 중 일부일 뿐이지 만, 그 중 일부를 확인하십시오. 이전 파이프 라인을 대체 할 수 있습니다. 클라이언트와 서버 측 코드가 같지 않다고 생각하지 마십시오. 분리되어 있으므로 이들 사이에 강력한 분리가 있으면 많은 도움이 될 수 있습니다.

관련 문제