Node for Max에서 Type Script 사용
7528 단어 Node.jsTypeScriptMax8
만든 물건
Node for Max를 위한 간단한 Type Script 개발 환경을 만들었습니다.
편집 프로그램
Max API의 유형 정의가 유효하여 편안하게 개발할 수 있다.
소스 코드: github
기능
ts-node 모드
CLI 옵션은 최대 8.0.4 업데이트 에서 전달될 수 있습니다.
이것은 node의
node.script
옵션을 사용할 수 있기 때문에 ts-node/register 을 사용할 수 있습니다.즉, 토하지 않고
-r
TypeScript를 실행할 수도 있고 REPL을 실행할 수도 있다. 파일을 토할 시간이 없기 때문에 작은 프로젝트라면 실행하는 데 걸리는 시간도 js와 차이가 많지 않고 바삭바삭하다.tsc 모드
tsc를 사용하면 변압기를 정상적으로 토할 수 있는 파일도 만들기 때문에 ts-node가 싫은 사람은 저쪽에 있습니다.
보일러판의 구조(생략판)
├── @types
│ └── max-api.d.ts<--MaxAPI 유형 정의 파일
├── index.ts<--
.js
의 입구점--lib/<--tsc 후 여기 들어오기
├── main.maxpat<--Max 열기
├── node_modules
├── package.json
├── run-transpiled.js<--
ts-nodeモード
시 입구점└── tsconfig.json
보일러판 정보
주요 Max 파일은 이렇습니다.
상응하는 코드
index.ts
import * as MaxAPI from 'max-api'
import * as fs from 'fs'
import { say } from 'cowsay'
import { Log } from './utils'
enum actionTypes {
LIST_FILES = 'list-files',
SAY = 'say'
}
MaxAPI.addHandler(actionTypes.LIST_FILES, () => {
fs.readdir(process.cwd(), (err, files) => {
if (err) {
MaxAPI.post(err.message, "error")
}
const text = say({
text: 'Node for Max is Awesome!'
});
Log(...files)
MaxAPI.outlet(...files, text)
})
})
MaxAPI.addHandler(actionTypes.SAY, (...whatever: string[]) => {
const text = say({
text: whatever.join(' ')
})
Log(text)
MaxAPI.outlet(text)
})
이런 느낌.(먼저 샘플은cowsay라고 말하지 마세요.)그럼,umenu에서 사용
tscモード
할지 사용ts-node
을 선택합니다이런 느낌으로 전환됩니다.
tsc
의node.script
에node에게 건네준다는 것은node -r ts-node/register index.ts
그러니까@options
지정한 라이브러리를 실행하기 전에require 옵션)-r
의 경우 오른쪽tscモード
을 수행합니다(주의※ js).이건 단순히
run-transpiled.js
/**
* @description This file should only be called after source code is transpiled.
* @author Yuichi Yogo
*/
require('./lib/index')
node.script run-transpiled.js
에서 tsc를 통해 전송된 js 파일이 들어가기를 기대하기 때문에 (그곳의 동기화 처리는 Max 패치 옆에 쓰여 있음) 간단하게 리퀘스트만 진행합니다.총결산
이번에 보일러판을 만들 때 Cylcling에publish Max API의 금형 정의 파일이 없어서 제가 준비했습니다.
불편하니까 cycling'74를 부탁합니다.(대응할 수 있을지 모르겠다)
그중
lib/
에서 최신 모델을 얻을 수 있었으면 좋겠어요!
Reference
이 문제에 관하여(Node for Max에서 Type Script 사용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Yuichi_Yogo/items/98e6ba38b49b11f41bec텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)