• 0

تضمين ملف نصي في node.js

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

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

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

modules.exports = function(){

    return mytext;

}

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

1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 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')

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

1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن