Fundamentals
Core
Master
Shaders
TypeScript
Este curso é inteiramente escrito em JavaScript, mas você também pode usar TypeScript com React Three Fiber.
TypeScript é um superconjunto de JavaScript que adiciona tipos à linguagem. É uma ótima maneira de capturar erros cedo e ter uma experiência de desenvolvedor melhor com auto-completação e documentação.
A escolha de usar TypeScript ou não é sua. Para ajudar a decidir, aqui estão algumas perguntas que você deve pensar:
- O tipo de projeto que você está construindo: Você está esboçando uma experiência 3D ou construindo com a intenção de lançá-la? É um pequeno projeto ou um grande? Destina-se a ser mantido por muito tempo?
- Sua equipe: Você está trabalhando sozinho ou com outras pessoas? Assim como comentários, tipos são uma ótima maneira de tornar seu código mais compreensível para os outros.
Não há resposta certa ou errada, cabe a você decidir o que é melhor para o seu projeto. Como a biblioteca é escrita em TypeScript, você pode se beneficiar dela mesmo se estiver usando JavaScript.
Juntos veremos como converter facilmente nosso projeto inicial para TypeScript e como usá-lo com React Three Fiber.
Mas esta lição não é um tutorial de TypeScript, se você não tem experiência e quer aprender mais sobre isso, você deve começar aqui.
Configuração
Na lição de configuração, criamos um novo projeto do zero usando Vite. Se você está começando um novo projeto, pode seguir os mesmos passos e escolher a variante TypeScript para o seu projeto em vez da de JavaScript. (Não se esqueça de voltar aqui depois para descobrir como usá-lo 🤭)
Vamos ver como converter um projeto existente para TypeScript.
O projeto inicial é o mesmo do resultado final da lição de configuração, mas os passos são os mesmos para qualquer projeto.
Instalar TypeScript
Primeiro, precisamos instalar TypeScript em nosso projeto. Podemos fazer isso com o seguinte comando:
yarn add -D typescript
-D
irá instalar TypeScript como uma dependência de desenvolvimento. (Pois não é necessário na construção final de produção)
TypeScript adiciona um novo passo ao nosso processo de build. Precisamos compilar nossos arquivos TypeScript para JavaScript antes de rodar nosso projeto. Para fazer isso, precisamos atualizar nosso script de build no package.json
para o seguinte:
"build": "tsc && vite build"
O comando tsc
irá compilar nossos arquivos TypeScript para JavaScript e o comando vite build
irá construir nosso projeto como de costume.
A extensão dos nossos arquivos se tornará .tsx
em vez de .jsx
e .ts
em vez de .js
. Ainda no arquivo package.json
, podemos ajustar o script lint
para levar isso em consideração:
"lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
Configuração do TypeScript
Precisamos criar um arquivo tsconfig.json
na raiz do nosso projeto para configurar o TypeScript:
{ "compilerOptions": { "target": "ES2020", "useDefineForClassFields": true, "lib": ["ES2020", "DOM", "DOM.Iterable"], "module": "ESNext", "skipLibCheck": true, /* Modo Bundler */ "moduleResolution": "bundler", "allowImportingTsExtensions": true, "resolveJsonModule": true, "isolatedModules": true, "noEmit": true, "jsx": "react-jsx", /* Linting */ "strict": true, "noUnusedLocals": true, "noUnusedParameters": true, "noFallthroughCasesInSwitch": true }, "include": ["src"], "references": [{ "path": "./tsconfig.node.json" }] }
E um tsconfig.node.json
:
{ "compilerOptions": { "composite": true, "skipLibCheck": true, "module": "ESNext", "moduleResolution": "bundler", "allowSyntheticDefaultImports": true }, "include": ["vite.config.ts"] }
Essas são as opções padrão para um projeto React usando Vite. Você pode encontrar mais informações sobre elas na página da documentação das opções do compilador.
Configuração do ESLint
Precisamos atualizar nosso arquivo .eslintrc.cjs
para levar em consideração o TypeScript:
module.exports = { env: { browser: true, es2020: true }, extends: [ "eslint:recommended", "plugin:react/recommended", "plugin:react/jsx-runtime", "plugin:@typescript-eslint/recommended", "plugin:react-hooks/recommended", "plugin:@react-three/recommended", ], parser: "@typescript-eslint/parser", settings: { react: { version: "18.2" } }, plugins: ["react-refresh"], rules: { "react-refresh/only-export-components": "warn", }, };
São necessários dois novos pacotes:
yarn add -D @typescript-eslint/eslint-plugin @typescript-eslint/parser
End of lesson preview
To get access to the entire lesson, you need to purchase the course.