unused ejecutar deshabilitar node.js import typescript tslint

node.js - ejecutar - tslint rules



¿Explicación adecuada para NodeJS/Typescript Export/Import? (1)

De acuerdo, la sintaxis de importación / exportación es confusa por al menos dos razones:

  • la sintaxis de commonjs: var module = require ("module"); Funciona pero eso es commonjs -> sin mecanografía
  • cambió: la import x = require(''y'' sintaxis import x = require(''y'' ) ahora está en desuso en TS

TL; DR; : Utilice la sintaxis ''estilo es6'' introducida en TS 1.5

El "mejor" recurso de importación / exportación en TS que conozco es this

En general, recomiendo leer este excelente manual que proporcionará respuestas a la mayoría de sus preguntas.

Importar

De una exportación por defecto

Something se exportó como una exportación predeterminada (única), es decir, la export default Something en ts / es6

Utilizar

import Something from "module"

Puede importar una exportación predeterminada con un nombre diferente. import SomethingElse from ''module'' también funcionará

De las exportaciones con nombre

Something se exportó como una exportación con nombre en "módulo" usando export {Something} o export class|interface Something{} en ts / es6

Quieres importar solo eso, usa

import {Something} from "module"

Desea importar todo lo que se exporta desde "módulo" bajo el mod espacio de nombres

import * as mod from "module

Luego usa const c:mod.Something = whatever

Exportar

Ver import s arriba

La export = something formulario export = something está en desuso en favor de la nueva sintaxis de estilo ES6. Se encuentra principalmente en los archivos de definición para expresar el hecho de que una biblioteca js exporta una sola función / objeto, por ejemplo, module.exports=something .

Lo que deberías intentar usar

Use la sintaxis de estilo ES6 y evite las exportaciones default : tienen la ventaja de que se pueden importar con un nombre diferente, pero

  • una importación predeterminada no se puede volver a exportar, lo que puede ser problemático si está escribiendo una biblioteca
  • confundirán una gran cantidad de IDE (por no mencionar usted mismo) al refactorizar
  • una exportación nombrada en realidad puede ser renombrada localmente cuando se importa, es decir, import {Something as SomethingElse} from "module"

Concretamente, exporte lo que necesite exportar e importe específicamente

En api.ts

export interface MyInterface { } export class MyClass { }

En main.ts

import {MyInterface, MyClass} from ''./api''

Linting

Hay muchos IDE buenos por ahí que brindan una excelente formación de líneas: VSCode, Atom Typescript y Webstorm para nombrar unos pocos populares, los primeros dos son gratuitos y el tercero incluso administra las importaciones por ti.

¿Podría alguien explicar exactamente cómo funcionan las exportaciones e importaciones en NodeJS usando Typescript?

Mi configuración es:

  • NodeJS
  • Todo en mecanografiado
  • TSLint
  • Mecanografía

Estoy jugando con las exportaciones / importaciones en lugar de hacer una codificación adecuada, me está volviendo loco, y no puedo encontrar ninguna explicación adecuada de cómo funciona.

Importar

¿Puede por favor explicar lo siguiente?

var module = require ("module"); import module = require("module"); import module from "module"; import {something} from "module"; import * as module from "module";

Exportar

¿Puedes por favor explicar lo siguiente?

export = something; export default something; export interface|class something;

Preguntas

  • Cómo exportar / importar una clase correctamente sin iniciarla
  • Cómo exportar / importar correctamente una clase cuando se inicia (la construcción se ejecutó)
  • ¿Cómo puedo exportar / importar una clase y una interfaz correctamente?
  • ¿Cómo puedo exportar / importar correctamente la clase y múltiples interfaces
  • Cuándo usar las declaraciones de los módulos, para qué sirven y por qué tslint me arroja errores si trato de usarlos.

Parece que no puedo encontrar la forma adecuada de hacer exportaciones frente a importaciones, por lo que mi IDE no está cubierto de rojo y me lanza cientos de errores.

Preguntas generales

  • ¿Hay incluso una manera de no obtener errores usando nodejs / typescript / tslint?
  • TSLint me grita por casi todo lo que escribo ... es extremadamente frustrante, ya que la mayoría de los errores tienen una explicación 0. ¿Vale la pena usarlo?

La lista de preguntas sigue y sigue, pero estoy seguro de que una vez que se responda algo de lo anterior, puedo continuar con el resto.

Gracias y lo siento por una pregunta tan general, pero mi nivel de frustración acaba de llegar a la cima ...