source

파일을 문자열로 필요

ittop 2023. 10. 29. 19:56
반응형

파일을 문자열로 필요

노드+익스프레스를 사용하고 있는데 어떤 파일이든 문자열로 가져올 수 있는 방법이 궁금합니다.내가 txt 파일을 가지고 있다고 치자, 내가 원하는 것은 그런 변수에 로드하는 것입니다.

var string = require("words.txt");

반대합니다

modules.exports = function(){

    var string = "whatever";

    return string;

}

몇 개의 특정 확장자를 위한 경우에는 자신의 핸들러를 추가할 수 있습니다.

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

그렇지 않으면 다음과 함께 사용할 수 있습니다.

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 파일을 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')

선택한 답변이 더 이상 권장되지 않습니다.NodeJS 문서는 다음과 같은 다른 접근 방식을 제안합니다.

다른 Node.js 프로그램을 통해 모듈 로드

하지만 더 이상 확장되지는 않습니다.

  • 다음과 같은 매우 간단한 라이브러리를 사용할 수 있습니다: require-text

  • 또는 직접 구현할 수도 있습니다(위 패키지에서와 같이: ).

    var fs = require('fs');
    module.exports = function(name, require) {
       return fs.readFileSync(require.resolve(name)).toString();
    };
    

를 사용해야 할 것입니다.readFile로부터의 기능filesystem모듈.

http://nodejs.org/docs/v0.3.1/api/fs.html#fs.readFile

나의 가장 간단한 해결책은

var string = require("fs").readFileSync("file.txt", 'utf8')
console.log("string = ", string);

node.js와 TypeScript가 있는 .json 파일을 요구할 수 있습니다.이것이 텍스트를 직렬화하는 데 적합한 필수()를 지원하는 유일한 형식입니다.컴파일 타임 도구를 사용하여 https://github.com/cancerberoSgx/fs-to-json 과 같은 json으로 파일을 포장할 수 있습니다.

언급URL : https://stackoverflow.com/questions/12752622/require-file-as-string

반응형