node + express를 사용하고 있으며 파일을 문자열로 가져올 수있는 방법이 궁금합니다. 내가 원하는 것은 변수에로드하는 것뿐입니다.
var string = require("words.txt");
나는 반대한다
modules.exports = function(){
var string = "whatever";
return string;
}
node + express를 사용하고 있으며 파일을 문자열로 가져올 수있는 방법이 궁금합니다. 내가 원하는 것은 변수에로드하는 것뿐입니다.
var string = require("words.txt");
나는 반대한다
modules.exports = function(){
var string = "whatever";
return string;
}
답변:
(몇 가지) 특정 확장에 대한 경우 고유 한 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);
});
Deprecated in the past
하지만Since the module system is locked, this feature will probably never go away. However, it may have subtle bugs and complexities that are best left untouched.
CSS 파일을 String으로 읽으려면이 코드를 사용하십시오. 그것은 작동합니다 .txt
.
const fs = require('fs')
const path = require('path')
const css = fs.readFileSync(path.resolve(__dirname, 'email.css'), 'utf8')
ES6 :
import fs from 'fs'
import path from 'path'
let css = fs.readFileSync(path.resolve(__dirname, 'email.css'), 'utf8')
모듈의 readFile
함수 를 사용해야 합니다 filesystem
.
node.js 및 TypeScript와 함께 .json 파일이 필요할 수 있습니다. 이것이 텍스트 직렬화에 적합한 required ()를 지원하는 유일한 형식입니다. https://github.com/cancerberoSgx/fs-to-json 과 같은 컴파일 타임 도구를 사용하여 파일을 json으로 압축 할 수 있습니다.
선택한 대답은 되지 및 권장하지 않습니다 더 이상. NodeJS 문서 는 다음 과 같은 다른 접근 방식을 제안합니다 .
다른 Node.js 프로그램을 통해 모듈로드
그러나 더 이상 확장되지 않습니다.
다음과 같은 매우 간단한 라이브러리를 사용할 수 있습니다. require-text
또는 직접 구현하십시오 (위 패키지에서와 같이 :)
var fs = require('fs'); module.exports = function(name, require) { return fs.readFileSync(require.resolve(name)).toString(); };
const { string } = require('words.js');
words.js
module.exports = { string: 'whatever' };