требовать файл как строку
Я использую node + express, и мне просто интересно, как я могу импортировать любой файл в виде строки. Допустим у меня есть файл txt, я хочу, чтобы загрузить его в переменную как таковой.
var string = require("words.txt");
Я против
modules.exports = function(){
var string = "whatever";
return string;
}
4 ответа:
если это для (нескольких) конкретных расширений, вы можете добавить свой собственный
require.extensions
обработчик:var fs = require('fs'); require.extensions['.txt'] = function (module, filename) { module.exports = fs.readFileSync(filename, 'utf8'); }; var words = require("./words.txt"); console.log(typeof words); // string
в противном случае, вы можете смешивать
fs.readFile
Сrequire.resolve
:var fs = require('fs'); function readModuleFile(path, callback) { try { var filename = require.resolve(path); fs.readFile(filename, 'utf8', callback); } catch (e) { callback(e); } } readModuleFile('./words.txt', function (err, words) { console.log(words); });
читать CSS-файл в строку, используйте этот код. Это работает для
.txt
.const fs = require('fs') const path = require('path') const css = fs.readFileSync(path.resolve(__dirname, 'email.css'), 'utf8')
вы можете потребовать .файлы json, оба с узлом.js и TypeScript. Это единственный формат, который поддерживает требуемый (), подходящий для сериализации текста. Вы можете использовать инструмент времени компиляции для упаковки файлов в json, например https://github.com/cancerberoSgx/fs-to-json