Uzel Vyžadují a Import

0

Otázka

import path from 'path';
import fs from 'fs';

fs.mkdirSync(path.join(__dirname, 'folderName'));

Chci vytvořit adresáře v uzlu, když jsem vyžadují moduly (commonjs) všechno funguje, ale když změním typ v mé package.json k module a používat dovoz složku nedostane vytvořil, co jsem mohl dělat špatně?

2

Nejlepší odpověď

2

Tam je ne __dirname v rámci ESM modul. Pokud je to něco, co potřebujete, můžete vyrobit toto:

import path from 'path';
import { fileURLToPath } from 'url';

const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);

Ale, mnoho funkcí fs modul může trvat import.meta.url více přímo. Vidět to jiná odpověď pro podrobnosti.

2021-11-22 02:43:06
0

Myslel jsem, __dirname není k dispozici na es6 moduly, takže jsem jen nahradit to s './'. Můžete použít npm balíček, že pokud hledáte pro eleganci.

2021-11-22 02:45:28

./ použije aktuální pracovní adresář, který může nebo nemusí být stejný jako __dirname. V nejvyšší úrovni modul soubor ve vašem projektu, bude to to samé. V importovaném modulu od node_modules adresář, aktuální pracovní adresář nebude mít spojení na všechny, co __dirname by byly.
jfriend00

V jiných jazycích

Tato stránka je v jiných jazycích

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................