SASS.js가 있습니까? LESS.js와 같은 것?


112

전에 LESS.js 를 사용 했습니다 . 사용하기 쉽습니다.

<link rel="stylesheet/less" href="main.less" type="text/css">
<script src="less.js" type="text/javascript"></script>

나는 SASS.js를 보았다 . 비슷한 방법으로 어떻게 사용할 수 있습니까? HTML에서 즉시 사용하기 위해 SASS 파일을 구문 분석합니다. SASS.js가 Node.js 와 함께 더 많이 사용되는 것 같습니다 .

var sass = require('sass')
sass.render('... string of sass ...')
// => '... string of css ...'

sass.collect('... string of sass ...')
// => { selectors: [...], variables: { ... }, mixins: { ... }}

6
생산을 위해 그것은 악의 뿌리이고 개발을 위해 당신이 가지고 있습니다 sass watch.
Hauleth 2011

3
"sass watch"의 문제는 "sass watch"가 실행되기 전에 실수로 페이지를 테스트하는 것이므로이 아이디어가 마음에 듭니다. less.js를 사용하면 페이지를로드하고 페이지를 볼 때 CSS가 컴파일되었는지 확인합니다. 물론 개발 환경에서만 가능합니다.
Maya Kathrine Andersen 2013 년

SassMeister 확인 : sassmeister.com- 무료 온라인 SASS 컴파일러
Dan

1
실제로,이 sass.js
LukyVj

@Hauleth sass 시계 (더 적은 시계처럼)는 때때로 옵션이 아닙니다. 특히 소스 파일이 타사 빌드 / 종속성에 의해 처리되고 웹 앱을 패키징하거나 배포하고 느리게 배포 할 때만 전체 소스 파일을 가질 수있는 경우입니다. (ie ... java web apps)
Zardoz89

답변:


42

공식적으로 승인 된 sass 또는 scss의 JavaScript 구현은 없습니다. 내가 본 몇 가지 구현이 진행 중이지만 현재 권장 할 수있는 구현은 없습니다.

그러나 몇 가지 사항을 알려주십시오.

  1. 모든 사용자에 대해 한 번만 수행 할 수 있는데 모든 사용자가 스타일 시트를 컴파일하도록해야하는 이유는 무엇입니까?
  2. JavaScript가 비활성화 된 경우 귀하의 사이트는 어떤 모습일까요?
  3. 나중에 서버 측 구현으로 변경하기로 결정한 경우 모든 템플릿을 그에 따라 변경해야합니다.

따라서 시작하는 데 약간의 설정이 필요하지만 우리 (sass 코어 팀)는 서버 측 컴파일이 최고의 장기적인 접근 방식이라고 생각합니다. 마찬가지로, 적은 개발자가 프로덕션 스타일 시트에 대해 서버 측 컴파일을 선호합니다.


157
내 사용 사례 : rails 프로젝트에 넣을 html + css 템플릿 개발. localhost 개발 목적으로 sass.js를 사용하면 서버 물건을 조작 할 필요가 없습니다.
Josef Richter 2011

93
클라이언트 측 컴파일이 유용한 경우가 많이 있습니다. 예를 들어, 사용자가 페이지의 모양으로 플레이하고 선택한 결과 만 서버에 저장하려는 경우입니다.
montrealmike

26
저는 chriseppstein (대체 왜 사용자가 스타일 시트를 컴파일하기를 원하는지)에 100 % 동의합니다. 여기에서 다루지 않고 단순하고 간단합니다 : 개발. 내 CSS와 마찬가지로 배포 된 모든 js 코드를 축소하고 압축하고 싶습니다. 그러나 개발 중에 "컴파일 된"버전이 아닌 코드에 액세스하는 것이 도움이됩니다 . 내가 모든 프론트 엔드 엔지니어를 대변 할 수 있을지는 모르겠지만, 우리 중 많은 사람들이 개발 단계에서 필요한 유일한 도구로 브라우저와 편집기를 사용한다고 말할 수 있습니다. 개발 중에 sass / scss를 "컴파일"하고 싶지 않습니다. 배포 / CI / 생산은 다른 문제
Graza

15
저자 측에 무언가를 던지는 것; SASS 사용을 고려하고 싶지만 Ruby를 사용하거나 사용하고 싶지 않습니다. 따라서 클라이언트 측 솔루션이없는 것보다 선호됩니다. Ruby로 작성하면 Ruby 사용자 만 사용할 수 있습니다. JS로 작성된 경우 클라이언트 또는 서버 (노드, 클래식 asp, asp.net 및 기타 가능)에서 사용할 수 있습니다.
Dan

27
자바 스크립트 구현은 루비에 대한 종속성이 필요없이 코뿔소 노드 / 등으로 사용되는 서버 측 될 수있다
샘 슬러

29

visionmeda / sass.js를 더 이상 사용할 수없고 scss-js가 2 년 동안 업데이트되지 않았기 때문에 sass.js에 관심이있을 수 있습니다 . Emscripten 을 사용 하여 JavaScript로 컴파일 된 C ++ 라이브러리 libsass ( node-sass 에서도 사용됨 )입니다. html로 링크되거나 인라인 된 scss 스타일 시트를 컴파일하는 구현은 sass.link.js 에서 찾을 수 있습니다 .

대화 형 플레이 그라운드를 사용하여 sass.js 사용해보기


3
이제 C ++ to Ruby 컴파일러 만 있으면 코드베이스를 통합 할 수 있습니다.
joeytwiddle

1
sass.js는 less.js 143kb 크기 (gzipped)에 비해 670KB (gzipped) 크기가 상당히 큰 것 같습니다. 또한 less.js와 비교하여 동적으로 CSS 변수를 설정하는 sass.js 옵션이 표시되지 않습니다. 이것은 당신이 theamable 사이트를 가지고있을 때 정말 유용합니다
Anirudha



5

모든 사용자가 스타일 시트를 컴파일하도록해서는 안되지만 자바 스크립트 구현은 서버에서도 실행될 수 있습니다. 또한 node.js 앱에서 사용할 자바 스크립트 sass 구현을 찾고 있습니다. 이것은 sass 팀이 고려하고있는 것입니까?


3
프로덕션에 SASS.js를 사용하고 싶지 않습니다! SASS 전용 루비를 설치할 필요없이 개발 머신을 배포 할 수 있기를 원합니다. 개발이 완료되면 모든 컴퓨터에서 SASS를 처리하고 결과 CSS를 프로덕션 서버로 옮길 수 있습니다.
A. Matías Quezada

1
Node 프로젝트에서 sass 대신 Stylus를 사용하는 것이 좋습니다.
airtonix


1

왜 LibSass인가

공식적으로 승인 된 sass JavaScript 구현은 없지만 LibSass로 알려진 Sass 엔진의 공식 C / C ++ 포트가 있습니다. LibSass는 공식 구현이므로 내부적으로 LibSass를 사용하는 JavaScript 라이브러리를 선택하는 것이 가장 좋습니다.


서버에서

Node.js 환경에서 실행되는 JavaScript의 경우 Node-sass가 있습니다.

내부적으로 Node-sass는 LibSass 자체를 사용합니다.


브라우저에서

브라우저에서 실행되는 JavaScript의 경우 Sass.js가 있습니다.

내부적으로 Sass.js는 Emscripten을 사용하여 JavaScript로 변환 된 LibSass 버전 (이 글을 쓰는 시점에서 v3.3.6)을 사용 합니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.