Я хочу импортировать модуль "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