문제

nodejs에서 EcmaScript 6 Harmony 프록시를 활성화할 수 있습니까?그렇다면 장점과 단점은 무엇입니까?그리고 사용방법에 대한 문서가 있나요?감사해요 !

도움이 되었습니까?

해결책

node --harmony-proxies로 노드를 호출하는 것은 트릭을 수행해야합니다.

PRO : 프록시는 정말로 필요할 때 매우 강력한 기능입니다.

ens : 프록시는 필요하지 않을 때 프록시가 너무 강력합니다 (대부분의 시간이어야합니다).또한 구현은 여전히 실험적으로 간주되어야합니다.

문서의 경우, ATM은 ATM이 Harmony Wiki, 특히이 페이지는 V8 (및 노드)에서 프록시의 현재 구현을 반영하는이 페이지입니다.

http://wiki.ecmascript.org/doku.php?id=.조화 : 프록시

다른 팁

나는 추천한다 조화를 반영하다, 예를 들어 쉽게 할 수 있습니다.get/set 트랩을 설정합니다.

업데이트 조심하세요, 아래는 CoffeeScript입니다

require 'harmony-reflect'

handler =

  get: ( target, name ) ->
    console.log 'get' name
    return target[ name ]

  set: ( target, name, value ) ->
    console.log 'set' name
    target[ '%is-clean' ] = no if value isnt target[ name ]
    if value is undefined then delete target[ name ]
    else                       target[ name ] = value
    return value

clean = ( x ) ->
  x[ '%is-clean' ] = yes
  return x

p = Proxy {}, handler
p[ 'a' ] = 1
p[ 'b' ] = undefined
console.log p[ 'a' ], p[ 'b' ]
console.log "c" of p, p[ 'c' ]
console.log p
clean p
p[ 'a' ] = 1
console.log p
p[ 'a' ] = 42
console.log p

위의 코드는 JavaScript에서 '투명 객체 지속성'을 수행하는 초기 코드입니다.사용하여 harmony-reflect, 모든 사람이 get 그리고 set 개체에 대한 작업이 가로채어집니다. 이 데모에서는 %is-clean 속성을 사용하여 개체 멤버가 변경되었는지 여부를 테스트할 수 있으며 정의되지 않음으로 설정된 멤버도 삭제할 수 있습니다.

프록시의 가벼운 구현을 사용하여 선언을 쉽고 ES5 호환 할 수있는 PIMPED 프록시를 사용할 수 있습니다. 기본 프록시와 달리 생성 시간에 알려진 프록시 속성 만 사용할 수 있습니다.

https://github.com/boulangerie/pimped-proxy

Proxy는 Node 버전>= 6에서 기본적으로 사용할 수 있습니다.

하모니 프록시는 효과적으로 동기식 함수 호출이므로 NodeJS에서는 잘 작동하지 않습니다.즉, 비동기의 프록시 메소드를 구현할 수 없습니다.

예제는이 GitHub 저장소를 참조하십시오. https://github.com/mschwartz/silkjs-harmony

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top