전체 스택 Deno 응용 프로그램 만들기 도구 만들기
6303 단어 reactwebdevtypescriptdeno
deno bundle
대부분의 묶음기가 필요한 상황을 포함하고 있지만 나무를 흔들거나 축소하는 등 유행용례가 필수품으로 급부상하고 있다.이것은 denopack 개발의 기본 동기입니다. Node와 NPM을 사용하고 싶지 않은 개발자에게 묶음 체험을 제공합니다. Node\u 모듈을 관리하는 것은 물론이고 Deno 프로젝트에 종사합니다.
묶음기와 축소기
번들 API는 여러 가지 방법으로 제공됩니다.처음에 두 가지 가장 두드러진 선택은 스스로 작성하거나
deno bundle
을 바탕으로 구축하는 것이다.그러나 노드 생태계는 믿을 수 없을 정도로 기능이 강한 묶음 프로그램을 가지고 있다. 이것이 바로 우리의 목표가 데노에서 Rollup(내 개인적인 체험에서 가장 즐거운 묶음 프로그램)을 사용하려고 시도하는 이유이다.다음과 같은 몇 가지 방법이 있습니다.
브라우저 버전을 사용하면 수동으로 CLI와 파일 시스템 액세스 (파일 불러오기 및 쓰기) 를 추가해야 한다는 것을 의미하며, 캐시, 디스크, 원격에서 읽을 수 있도록 denopack CLI와 각종 기본 플러그인을 생성합니다.
주제를 축소하는 것에 대해 이야기할 때, 처음부터 우리가 간결하게 사용할 것이라는 것을 분명히 알 수 있다.여기서도 브라우저를 사용할 수 있습니다.브라우저 버전의 Terser는 내보내기 대신 글로벌 This에 의존 항목을 주입하기 때문에 작은 해커들이 다시 내보내야 합니다.
import "https://unpkg.com/[email protected]/dist/source-map.js";
import "https://unpkg.com/[email protected]/dist/bundle.min.js";
import { AST_Node, MinifyOptions, MinifyOutput } from "./terser.d.ts";
export const minify: (
files: string | string[] | { [file: string]: string } | AST_Node,
options?: MinifyOptions
) => MinifyOutput = (globalThis as any).Terser.minify;
경험과 교훈
추가적인 평가 및 성능 저하에 대응하기 위해 Dell은 적절한 Deno+ESM 구문을 지원하기 위해 주요 코드 세그먼트를 자동으로 채우거나 다시 작성할 수 있는 솔루션을 제공하기 위해 노력하고 있습니다.
컴파일러 API, 잠금 파일 및 모니터링 모드
이 절차의 다음 단계는 Typescript 지원을 처리하는 것입니다.다행히도 Deno는 현재
--unstable
로고 뒤에 숨겨져 있지만 Deno 객체 내부의 API로 컴파일, 전송 및 바인딩됩니다.두 개
Deno.compile
와 Deno.transpile
모두 이를 단독 플러그인으로 만들었다.사후에 보면 이것은 필요한 선택이다. 왜냐하면 어떤 장면은 서로 다른 방법을 필요로 하기 때문이다.현재 가장 큰 문제는
Deno.compile
denopack이나 사용자가 제어할 수 없는 실행 시 캐시를 사용했다는 것이다...그러나이것은 현재 직접 컴파일이 감시 모드 (Rollup의 캐시 기능을 사용) 와 잘 융합되지 않지만 수동 파일 해석과 캐시 불러오는 추상적인 측면에서 뛰어나다는 것을 의미한다.한편
Deno.transpile
는 효율적인 단일 파일 처리 분야에서 1위를 차지했다.Compile은 CSS 자산을 식별할 수 없습니다. 왜냐하면 이것은 실제로 이를 JS/TS 코드로 해석하려고 하기 때문입니다. Transbile은 본질적으로 유형이 박리된 코드만 보내기 때문입니다.Transfile은 React를 사용하지 않도록 JSX 구문도 전송할 수 있습니다.자물쇠 파일 지원과 증량 컴파일/감시 모드의 추가는denopack 제1장의 끝을 상징합니다.감시 모드는 여전히 베타 버전으로 여겨진다. 상술한 Compile과의 호환성이 낮을 뿐만 아니라 Rollup의 본체 감시 프로그램 API에 접근할 수 없기 때문에 외부 자산(예를 들어 CSS와 HTML)을 사용하는 상황에서 더욱 신뢰할 수 없다.
경험과 교훈
tl;dr for
Deno.compile
vsDeno.transpile
:다음 장: 앞부분에 주목하기
다음 단계에서 denopack을 어디서 사용할지 결정하기 전에, 나는 그것을 documentation site 정적 사이트 생성기로 사용하려고 도전했다.
자산을 적재/발표하는 데 주력한 것은 이번이 처음이어서 순조롭다.결과는 Github의/docs 섹션에서 찾을 수 있습니다(아래 링크).
결국 이것은 우리가 개인적으로 가장 만족스러운 분야인 전단으로 중점을 옮길 것이라는 것을 의미한다.HTML, CSS, dev 서버 플러그인의 추가는 웹 개발자의 옵션과 DX를 크게 증가시켰고,denopackwhich can be found here을 사용하여createreact 앱 starter를 다시 실현하는 것을 쉽게 했다.
우리는 현재 PostCs, Babel, Vue, Svelte 등을 추가하는 것을 탐색하고 있다.메뉴의 다음 단계: 다양한 프런트엔드 (및 백엔드!)Deno용 프레임워크와 Next와 유사한 SSR 지원.js와 개츠비.
우리의 목표는 가능한 한 포용하고 denopack을 사용자의 원스톱 상점으로 만드는 것이다.
denopack 찾기
💻 https://denopack.mod.land
🐙 https://github.com/denofn/denopack
🦕 https://deno.land/x/denopack
🥚 https://nest.land/package/denopack
Reference
이 문제에 관하여(전체 스택 Deno 응용 프로그램 만들기 도구 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/jeroenptrs/building-tools-to-create-full-stack-deno-applications-2hgf텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)