Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

2.9K
Visualizações
¿Cómo retroceder 1 nivel de carpeta con __dirname?

Estoy usando gulp-karma y me enfrento a un problema simple, pero parece que no puedo encontrar lo que estoy haciendo mal.

 gulp.task('test', function (done) { karma.start({ configFile: __dirname + '..\\test\\' +'\karma.conf.js', singleRun: true }, done); });

Aquí está el código que estoy usando y parece que no puedo retroceder 1 nivel en el directorio de carpetas. Cuando hago lo anterior, simplemente agregue ..\ al directorio de la carpeta sin retroceder 1 nivel (que es el uso habitual de ..\ ). A continuación se muestra la estructura de carpetas.

 parent| test|karma.conf.js webapirole|gulpfile.js

y mi carpeta está dentro de la carpeta webapirole . Quiero retroceder 1 carpeta e ir a la carpeta de prueba que contiene el archivo karma.conf.js. ¿Alguien puede hacerme entender lo que estoy haciendo mal aquí?

error que estoy recibiendo

 [18:06:32] Starting 'tdd'... ERROR [config]: File C:\Users\Documents\WebApiRole..\test\karma.conf.js does not exist
over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

TL;DR

Utilice path.join(__dirname, '..', 'test', 'karma.conf.js') . Impedir el uso de barras.

Respuesta larga

Como han señalado muchas respuestas, usar el módulo de path es probablemente la mejor manera. Sin embargo, la mayoría de las soluciones aquí han vuelto a usar barras como:

path.join(__dirname+'../test/karma.conf.js')

Sin embargo, al hacer esto, está superando el propósito de usar path . Uno usa la path para realizar operaciones independientemente del sistema operativo subyacente (Linux, Windows, etc.). Solo para dar un poco de información, puede realizar las operaciones de ruta directamente como operaciones de cadena (como __dirname + '../test/karma.conf.js' . No hace esto porque Linux usa barras inclinadas ( / ), Windows usa barras inclinadas hacia atrás (\), lo que hace que su aplicación sea propensa a errores cuando la transfiere a otros sistemas operativos.

Por lo tanto, la mejor manera sería:

path.join(__dirname, '..', 'test', 'karma.conf.js')

Y, por supuesto, volviendo: evite el uso de barras en su ruta. path.join , en lugar de eso, extienda sus parámetros.

over 4 years ago · Santiago Trujillo Relatório

0

Estoy usando ( ruta ) NPM para el uso anterior...

simplemente requiere la ruta npm en el archivo js. Luego use

 let reqPath = path.join(__dirname, '../../../');//It goes three folders or directories back from given __dirname.
over 4 years ago · Santiago Trujillo Relatório

0

__dirname es solo una cadena. puede usar ../ para recorrer la estructura de carpetas y path.join para resolver la ruta

 path = require('path') configFile: path.join(__dirname, '../test/karma.conf.js'),
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda