اذهب إلى المحتوى

السؤال

نشر

أستخدم إطار العمل express مع node.js، كيف يمكنني تضمين ملف نصي ضمن الكود بحيث يكون بهذا الشكل:

var mytext = require("test.txt");

لاستعادته لاحقاً ضمن الكود أي:

modules.exports = function(){

    return mytext;

}

هل العملية السابقة صحيحة؟ وهل يمكنني تخزين محتوى كامل ضمن متغيّر واستعادته بهذا الشكل في node.js ؟

Recommended Posts

  • 1
نشر

في حال كان المحتوى بسيط وغير معقّد يمكنك استخدام handler خاص وتضمينه بالشكل التالي:

var fs = require('fs');

require.extensions['.txt'] = function (module, filename) {
    module.exports = fs.readFileSync(filename, 'utf8');
};

var test = require("./mytext.txt");

console.log(typeof words);

حيث سيتم تخزين المحتوى النصي ضمن المتغيّر test ويمكنك استعماله في أماكن أخرى من الكود البرمجي.

كما يمكنك استخدام كل من 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('./mytext.txt', function (err, result) {
    console.log(result);
});

أو من خلال readFileSync:

const fs = require('fs')
const path = require('path')

const mytext = fs.readFileSync(path.resolve(__dirname, 'testfile.txt'), 'utf8')

وعموماً أنت لا تقوم بتخزين المحتوى النصي في المتغيّر، بل يتم الإشارة إليه ضمن ذاكرة التخزين العشوائي إلى هذا المتغيّر بشكل مشابه عندما تقوم بعملية نسخ ولصق لمحتوى ما في جهازك.

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...