Tho*_*ggi 87 string require node.js express
我正在使用node + express,我只是想知道如何将任何文件作为字符串导入.让我说我有一个txt文件,我想要的是将它加载到一个变量中.
var string = require("words.txt");
我反对
modules.exports = function(){
    var string = "whatever";
    return string;
}
Jon*_*ski 114
如果是(少数)特定扩展名,您可以添加自己的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);
});
Max*_* Ma 19
要将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
或者自己实现它(就像上面的包一样:)
Run Code Online (Sandbox Code Playgroud)var fs = require('fs'); module.exports = function(name, require) { return fs.readFileSync(require.resolve(name)).toString(); };
小智 5
我最简单的解决方案是
var string = require("fs").readFileSync("file.txt", 'utf8')
console.log("string = ", string);