TypeError fs.existsSync не является функцией - PullRequest
0 голосов
/ 06 ноября 2019

Я хочу импортировать модуль "fs" из узла, но у меня возникли проблемы.

Если я использую require, я получаю fs.existsSync - это не ошибка функции.

Если я использую импорт ES6, я получаю TypeError: Object (...) не является функцией, потому чтоWebpack, очевидно, компилирует его в объект, например: Object(fs__WEBPACK_IMPORTED_MODULE_4__["existsSync"])

Я использую React.

Мой код с использованием CommonJS импортирует:

const csv = require("csvtojson");
const path = require("path");
const fs = require("fs");
const R = require("ramda");

const csvPath = path.join(__dirname, `../../../public/languages/${process.env.REACT_APP_VENDOR}`);
const jsonPath = path.join(__dirname, `../../../public/locales/`);

console.log(`csvPath:  ${csvPath}`);
console.log(`jsonPath: ${jsonPath}`);

if (!fs.existsSync(jsonPath)) {
  fs.mkdirSync(jsonPath);
}
...

мой код используетИмпорт ES6:

import csv from "csvtojson";
import { join } from "path";
import { existsSync, mkdirSync, readdir, writeFile } from "fs";
import { compose, pathOr, split, last, map } from "ramda";

const csvPath = join(__dirname, `../../../public/languages/${process.env.REACT_APP_VENDOR}`);
const jsonPath = join(__dirname, `../../../public/locales/`);

console.log(`csvPath:  ${csvPath}`);
console.log(`jsonPath: ${jsonPath}`);

if (!existsSync(jsonPath)) {
  mkdirSync(jsonPath);
}
...

Как мне импортировать модуль, чтобы использовать его? Я использую версию узла 10.16.3

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...