我正在使用 node + Express,我只是想知道如何将任何文件导入为字符串。假设我有一个 txt 文件,我想要的就是把它加载到一个变量中。
var string = require("words.txt");
我反对
modules.exports = function(){ var string = "whatever"; return string; }
您必须使用来自 filesystem模块的 readFile函数。
filesystem
readFile
Http://nodejs.org/docs/v0.3.1/api/fs.html#fs.readfile
如果是针对(一些)特定的扩展,您可以添加您自己的 require.extensions处理程序:
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:
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 文件读取到 String,请使用下面的代码。
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')
你可以要求。Json 文件,包含 node.js 和 TypeScript。这是唯一支持适合序列化文本的必需()格式。您可以使用编译时工具将文件打包到 json 中,例如 https://github.com/cancerberoSgx/fs-to-json
选择的答案是 不赞成和 不推荐了。 NodeJS 文档 暗示其他方法如:
通过其他 Node.js 程序加载模块
但它不再扩张了。
您可以像这样使用一个非常简单的库: < a href = “ https://www.npmjs.com/package/demand-text”rel = “ norefrer”> request-text
或者自己实现它(如上面的包所示:)
var fs = require('fs'); module.exports = function(name, require) { return fs.readFileSync(require.resolve(name)).toString(); };
我最简单的解决办法是
var string = require("fs").readFileSync("file.txt", 'utf8') console.log("string = ", string);