전체 스택 프로그래머가 새로운 장난감 녹 (육) 첫 WASM 프로그램

코드 첫

https://gitee.com/lightsever/rust_study/tree/master/wasm_hello01

 

webassembly 당신은 빨리 고치로 갈아 귀 내부, 세부 사항에 갈 필요가 없습니다.

rustwasm 파이어 폭스 자신의 장난감은, 우리가 그렇게 녹 어서 비행 실험을 계속하자.

환경 설치

녹 환경을 설치 한 후 여전히 wasm 키트가 필요

화물 wasm 팩을 설치

그럼 당신은 신속하게 wasm를 사용할 수있는 프로젝트 템플릿을 만들려면

화물 --git 생성 https://github.com/rustwasm/wasm-pack-template

WASM 프로젝트

프로그램 코드는 다음을 생성

영상

#은 [Wasm_bindgen은이 기능 하나를 사용 JS에 수출 또는 사용 JS에서를 인수하려는되어, 녹 얘기하는 것입니다.

당연히 경고는 그와의 js에서 인수하는 것입니다

인사는 전화 JS이다

 

우리는 helloworld를, 여기 변경되지 않을 것이다 않는다

 

이 프로젝트는화물 문서 생성 wasm 컴파일되지 않는다

프로젝트 디렉토리에 사용되는

wasm 팩 구축

영상

Wasm는 성공을 컴파일하려면

영상

이 프로젝트는 쉽게 사용할 수 있지만 사용 웹팩 패키지에,하는 NPM 패키지를 생성 자신의 글루 코드를 생성합니다.

나는 NPM 난 더 이상이 관여하지 않는, 숙련되지 않습니다.

주요 숨겨진 비밀이 받아 들일 수없는, 우리는 실제로 자신의 일을 수행해야합니다.

JS 프로젝트

내가 TS는 자신의 프로젝트를 수행 사용, 그는 생성 된 글루 코드가 이렇게 직접 사이트의 프로젝트에 사용할 수없는 NPM 패키지, 우리는 변경 될 수 있습니다.

당신은 WASM 모든 혼란 조금 될 수있다? 어떻게 JS 코드를 작성? WASM 완전히 JS를 대체하지 않기 때문입니다. 그는 초기화 할 필요가, 당신은 WASM에 손실 된 기능의 일부를 가져올 수 있습니다 또는 할 수없는 어떤 다른 WASM . 또한 JS는 WASM의 함수를 호출 할 필요가 할 수 없거나 다른 WASM 한을.

즉, 입구는 초기화 작업이 작업은 1 회 wasm 완료 전체 사이트의 다음 논리가 될 수 있습니다.

영상

첫 번째는이 문서에서 우리는 세 가지 수정을해야 할, 접착제 JS입니다

1. 먼저

에서 wasm으로 수입 * ...

JS는 wasm에서 모듈을 가져 알리는 것입니다이 줄을 삭제, 그것은 포장 업체를 대체됩니다, 우리는 웹팩 싶지 않아

2. 그런 다음 수출의 맨 아래 두 줄이

수출과 CONST 키워드를 삭제

영상

JS 함수 wasm 접착제 코드로 여기에 도입하고, 기능 JS wasm 접착제 코드를 유도한다.

마찬가지로, 실제로 패키지 시스템의 뭔가

음, 이상 변경

그러나이 wasm에서 온?

JS 회원 웹 환경을 모든 글로벌 변수는 창입니다 그래서 우리는 단지 곳으로 이동하는 그에게 줄 수있는

그런 다음 정의 .d.ts 접착제

영상

패키지 정의 파일을이되었다 선언 변경 수출, 그것의 사용에 의존 할 수 없다.

우리 app.ts 쓰기

영상

TS와 사랑, 당신은이에게 거의 JS를 사용

 

1.로드 wasm 파일 arraybuffer

 

개체 wasm 2. 예

작은 트릭 우리가 직접 창으로 연결하거나 수동으로 사전 JS를 기능 접착제 wasm 가져 오기를 구성 할 필요는있다. 글로벌 객체의 모든 구성원 창 및 rustwasm 도움이기 때문에 우리는 글루 코드가 전 세계적으로 완성 된 것으로, 직접 던져 창 정의 생성합니다.

 

과제 3. 글로벌 wasm 객체는 여기에 가서 직접 창 [ "WASM"]입니다.

 

4. 입력 함수 호출 wasm

 

우리의 코드에 따라 녹, 헬로 피터에게 경고한다.

영상

푸르덴셜 깡패 나.

입력 기능과 초기화 기능은 한 번 참여하지 않을 마쳤다.

만큼 우리가 접착제 파일 사용을 사용하지 않기 때문에 미래 세대 wasm은 물론, 같은 rustwasm 사전에 웹팩, 우리는 변화에 변화가 때마다 너무. 그러나 우리는 실제로 매우 기계적인 변화이다

1.js 파일, 전체 라인을 삭제의 수입이

수출, 수출의 시작 부분에 2.js 파일, 그리고 const 키워드를 삭제

3.d.ts 파일, 수출의 시작 부분에, 선언을 대체

자동으로 그렇게 위로 스크립트를 작성합니다.

 

오늘 helloworld를 통해, 게임을 쓰기, 그것은 멀리하지 않습니다.

추천

출처www.cnblogs.com/crazylights/p/12122068.html