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

خطأ Cannot find name 'require' في React؟

Adam Ebrahim

السؤال

 

أحاول تشغيل تطبيق React مكتوب بـ TypeScript، وواجهت بعض الأخطاء.

حتى عند محاولة تحويل الملف نفسه من TypeScript إلى جافاسكريبت أحصل على الخطأ التالي، حاولت البحث عن حل للمشكلة لكن لم أجد أي حل مفيد.

TS2304: Cannot find name 'require' 

هذا هو محتوى الملف هنا:

'use strict';

const mongoose = require('mongoose'),
mongooseSchema = mongoose.Schema;

// The rest of the code

الكود بسيط للغاية لكن رغم ذلك يظهر الخطأ السابق بدون سبب مفهوم.

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

Recommended Posts

  • 1

يمكن حل هذه المشكلة بأكثر من طريقة، ومنها:

  • إذا كان لديك ملف واحد فقط يستخدام جملة require، يمكنك تحديد require في الجزء العلوي من الملف بهذا الشكل:
    declare var require: any

    بهذه الطريقة ستعمل جملة require في هذا الملف فقط، لكن ستظل المشكلة قائمة في أي ملف TypeScript آخر.

  • إن كنت تستخدم TypeScript الإصدار الثاني فيمكنك فقط تثبيت حزمة types/node وستحل المشكلة على الفور في كل ملفات المشروع، يمكنك تثبيت الحزمة عبر الأمر:
    npm install @types/node --save-dev

    ثم عليك بتعديل ملف src/tsconfig.app.json أو إنشاءه إن لم يكن موجود وإضافة التالي:

    {
    
      "types": [ "node" ],
      "typeRoots": [ "../node_modules/@types" ]
    
    }

    في الغالب لن تضطر إلى تعديل الملف src/tsconfig.app.json وهذا لأنه يتم تعديله بشكل تلقائي من قبل node.

  • إن كنت تستخدم TypeScript الإصدار الأول أو أقل فيجب تثبيت حزمة typings بالشكل التالي:
    npm install typings -g --save-dev
    
    // ثم نفذ الأمر التالي
    typings install dt~node --save --global

     

  • في حالة إستخدامك لـ Webpack لبناء ملفات مشروعك، فيجب أن تقوم بتثبيت حزمة @types/webpack-env التي ستعالج هذه المشكلة في كل ملفات المشروع، ويمكنك تثبيت الحزمة من خلال الأمر:
    npm install --save-dev @types/webpack-env

    ثم يجب تعديل ملف tsconfig.json (في مجلد المشروع الرئيسي بجانب ملف package.json) بهذا الشكل:

    "compilerOptions": {
        // إعدادات أخرى
        "types": [
          "webpack-env"
        ]
      }

     

بالتوفيق، تحياتي.

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

  • 0

هذا الخطأ معناه أن ال Typescript لم تتعرف على require ولحل هذه المشكلة سيتعين عليك تحميل هذه الحزمة من خلال الامر التالي:

npm install --save @types/node

 

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

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...