Estoy escribiendo un programa en TypeScript y compilando el código en JavaScript antes de ejecutarlo en un navegador. Este es mi package.json secuencias de comandos:
"scripts": {
"clean": "rm -rf dist/",
// gsap.min.js is under ts/src/lib/
"build": "tsc && copyfiles -u 1 ts/src/lib/* dist/"
},
Sin embargo, no puedo hacer referencia a gsap en un archivo TypeScript porque aparece el error Cannot find name 'gsap'. Creo que esto se debe a que tsc no lee archivos minificados (incluso si el indicador allowJs es verdadero).
Sin embargo, puedo usar gsap bien en un archivo JavaScript, ya que la verificación es menos estricta. (En JavaScript, hacer referencia a una variable que no está definida solo arroja un error cuando se ejecuta, por ejemplo, en la consola del navegador).
Intenté definir gsap , con la esperanza de que gsap.min.js anulara la variable. Sin embargo, gsap permanece undefined en tiempo de ejecución (al menos tsc compila esto sin errores). Así que esto no funciona.
<!-- index.html snippet -->
<script src="dist/src/lib/pseudo.js"></script>
<script src="dist/src/lib/gsap.min.js"></script>
// pseudo.js
let gsap: any;
Si usa un paquete, entonces si instala gsap ( npm install gsap ) en lugar de simplemente copiar una versión reducida de él en su proyecto, debería resolver el problema gsap proporciona definiciones de tipo.
Si no está utilizando un paquete, copie los archivos .d.ts que contienen los tipos (desde https://github.com/greensock/GSAP/tree/master/types ) en el árbol de directorios de su proyecto, y si TypeScript no t los recoge automáticamente, apúntelos a través tsconfig.json . Los archivos de tipos incluyen la declaración necesaria para informar a TypeScript sobre gsap global (específicamente, esa declaración está en gsap-core.d.ts ).