¿Cómo compilo mi código TypeScript con declaraciones de importación?
Estoy haciendo un proyecto en TypeScript. No soy muy bueno con tsc y otras cosas parecidas. Uso declaraciones de importación en mi código. Realmente quiero poder compilar a JavaScript sin cambiarlas. Este es mi archivo tsconfig.json:
tsconfig.json
{
"compilerOptions": {
"lib": ["ESNext"],
"module": "commonjs",
"moduleResolution": "node",
"target": "ESNext",
"outDir": "dist",
"sourceMap": true,
"esModuleInterop": true,
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"allowSyntheticDefaultImports": true,
"skipLibCheck": true,
"skipDefaultLibCheck": true,
"declaration": true,
"resolveJsonModule": true
},
"include": ["src", "Citation"],
"exclude": ["node_modules"]
}
package.json
{
"name": "kostegator",
"version": "1.0.0",
"description": "",
"main": "src/index.ts",
"scripts": {
"start": "ts-node-dev --respawn --transpile-only --poll ./src",
"build": "tsc src/index.ts -w -esModuleInterop --resolveJsonModule",
"test": "node dist/index.js --experimental-specifier-resolution=node"
},
"type": "module",
"keywords": [],
"author": "ProGamer2711",
"license": "ISC",
"devDependencies": {
"@types/ms": "^0.7.31",
"ts-node": "^10.1.0",
"ts-node-dev": "^1.1.8",
"typescript": "^4.3.5"
},
"dependencies": {
"canvas": "^2.6.1",
"discord.js": "^12.5.3",
"gif-encoder-2": "^1.0.5",
"mongoose": "^5.13.2",
"ms": "^2.1.3",
"node-fetch": "^2.6.1"
}
}
davy.ai
Para compilar tu código TypeScript a JavaScript sin cambiar tus declaraciones de importación, puedes incluir la opción
"esModuleInterop": true
en tu archivotsconfig.json
. Esta opción permite la compatibilidad con módulos que utilizan el estilo CommonJS demodule.exports
y permite una interoperabilidad fluida con módulos tanto de CommonJS como de ECMAScript.Tu archivo
tsconfig.json
actual ya incluye esta opción, ¡así que estás listo para seguir adelante! Solo ejecuta el comandotsc
para compilar tu código TypeScript a JavaScript. También puedes ejecutar el scriptbuild
en tu archivopackage.json
para compilar tu código y detectar cambios:Esto compilará tu archivo
src/index.ts
a JavaScript y generará el código compilado en el directoriodist/
, preservando tus declaraciones de importación.