[javascript] node.js에 JS 대신 CoffeeScript를 사용할 수 있습니까?

node.js를 코딩하고 CoffeeScript를 사용하려는 경우 제한 사항은 무엇입니까? JS에서 할 수있는 일을 할 수 있습니까?



답변

예, CoffeeScript는 단순히 순수 JS로 컴파일되어 node.js와 완벽하게 호환됩니다.

노드에서 CoffeeScript를 실행하려면 다음 중 하나를 수행하십시오.

  • coffee -c example.coffee컴파일 할 유형 을 입력 한 다음 node example.js컴파일 된 JS를 실행하십시오.
  • 간단히 입력 coffee example.coffee

답변

노드에서 CoffeeScript 파일을 직접 실행할 수있을뿐만 아니라

coffee source.coffee

마치 JavaScript 파일 인 것처럼 요구할 수도 있습니다. 예를 들어, lib.coffee디렉토리에 있다면

require './lib'

같은 디렉토리에있는 다른 CoffeeScript 파일에서 (JavaScript 파일에서이 작업을 수행 require 'coffee-script'하려면 맨 위에 추가 해야합니다.) 따라서 배포 할 프로젝트를 npm과 같은 도구로 패키징하지 않는 한 Node에서 명시 적으로 컴파일 할 필요가 없습니다.

한 가지주의 사항 : 스택 추적에서 CoffeeScript를 직접 실행하는 경우에도 표시되는 줄 번호는 컴파일 된 JavaScript를 나타냅니다 (따라서 JavaScript에 액세스 할 수 없음). 많은 사람들이이 문제를 해결하려고하지만 큰 도전입니다.


답변

예, 여기에 다른 간단한 질문이 있습니다. 2 단계를 수행해야합니다.

  1. npm install coffee-script --save # I assume you would have done this already.

  2. 가지고 require('coffee-script')실행 얻을 것이다 첫 번째 줄 server.jsapp.js. ( 업데이트 : 커피 스크립트 1.7 이후로해야합니다.require('coffee-script/register'))

이렇게하면 coffeescript 컴파일러가 앱에 등록되고 이제 커피 파일과 js 파일을 동일하게 처리 할 수 ​​있습니다 (커피 파일도 필요할 수 있음을 의미합니다).

이 방법을 사용하려면 바닐라 자바 ​​스크립트로 하나의 파일 (app.js) 만 작성하면됩니다. 그러나 배포 환경에는 앱을 실행하기 위해 초기 전역 설치 종속성으로 커피 스크립트가 필요하지 않다는 장점이 있습니다. 이 경우 코드를 복사하고 npm install필요한 모든 패키지를 설치하면됩니다. 그리고 npm start당신은 일을하고 실행


답변

비디오 자습서

Pedro Teixeira 의 훌륭한 튜토리얼 시리즈를 보았습니다 . 그는 노드 튜토리얼에 대한 전체 시리즈를 구축하고 있습니다. 그는 편집 된 .coffee 파일의 자동 감지 및 컴파일 및 재로드를위한 nodemon에 대한 참조를 포함합니다.

  1. Coffeescript와 Node.js
  2. 노드 몬

답변

CoffeeScript를위한 간단한 연속 컴파일 인 Jitter 를 사용할 수 있습니다 .

npm install -g jitter

coffee 디렉토리에 많은 * .coffee 파일이 있고 js 디렉토리로 컴파일하려고한다고 가정 해 봅시다. 그런 다음 다음을 실행하십시오.

jitter coffee js

지터는 종료 될 때까지 백그라운드에서 실행되며 (Ctrl + C) 새로운 변경 사항을 감시합니다.


답변

Coffeescript + ExpressJS + Couchdb + Redis + 인증 :

https://gist.github.com/652819


답변

이 시도

#!/usr/bin/env coffee
v = 78
console.log "The value of v is '#{v}'"

그런 다음 수행하십시오.

chmod +x demo.coffee
./demo.coffee

CoffeeScript는 노드와 매우 견고하게 통합되어 있습니다. ‘커피 스크립트’모듈을로드 require('coffee-script')한 경우 위의 데모를 통해 실행하거나 coffee demo.coffee로드 한 후 실행 하면로드 할 수 있습니다 require('./foo').foo.coffee