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

السؤال

نشر (معدل)

مرحبا .. بدرس ال functions استخدم المحاضر export و import ولكن انا عندي مشروع حبيت اطبق عليه نفس الفكرة ولا عرفت كيف ممكن استخدمها واستدعيها بملف اخر

جربت الكود المكتوب بالصورة ولكن ظهر لي خطأ 

 

(node:22976) Warning: To load an ES module, set "type": "module" in the package.json or use the .mjs extension.
(Use `node --trace-warnings ...` to show where the warning was created)
C:\Users\Devo_\Downloads\Bot-Template\src\telegram\index.js:11
export const login = bot.on('message', (msg) => {
^^^^^^

SyntaxError: Unexpected token 'export'

 

وما هي طريقة ال import الصحيحة بهذي الحالة؟

image.png

تم التعديل في بواسطة Mustafa Suleiman
تعديل عنوان السؤال

Recommended Posts

  • 0
نشر

 Node.js يعمل بشكل افتراضي في وضع CommonJS وليس ES Modules الذي يتضمن استخدام export وimport. وبالطبع لايزال بإمكانك استخدام export وimport في Node.js، ولكن يجب أن تقوم بتحديد نوع الموديول الذي تستخدمه في ملف package.json الخاص بمشروعك.

أي يجب عليك تحديد "type": "module" في ملف package.json الخاص بمشروعك، ثم يمكنك استخدام export وimport.

أيضًا، في حال استخدام CommonJS ، يجب استخدام module.exports بدلاً من export لتصدير الوحدات وrequire بدلاً من import لاستيرادها.

على سبيل المثال:

{
  "name": "myapp",
  "version": "1.0.0",
  "description": "My awesome app",
  "type": "module",
  "main": "index.js",
  "scripts": {
    "start": "node index.js"
  },
  "author": "Your Name",
  "license": "MIT"
}

بعد تعيين "type": "module" في ملف package.json، يمكنك استخدام الـ import في ملف آخر لاستدعاء الدوال التي يتم تصديرها. على سبيل المثال، إذا كانت الدالة login تم تصديرها في ملف index.js، فيمكنك استيرادها في ملف آخر باستخدام الـ import على النحو التالي:

import { login } from './index.js';
// استخدام الدالة المستوردة هنا

يرجى ملاحظة أنه يجب تحديد مسار الملف الصحيح في الـ import، ويجب أن يتوافق اسم الملف المستورد مع اسم الملف الذي يتم تصديره في الملف الأصلي.

  • 0
نشر

من خلال التوثيق الرسمي لل nodejs يمكنك أن تجد

اقتباس

يحتوي Node.js على نظامين للوحدات النمطية: وحدات CommonJS ووحدات ECMAScript.يمكن للمؤلفين إخبار Node.js باستخدام أداة تحميل وحدات ECMAScript عبر امتداد الملف .mjs أو حقل "النوع" package.json أو العلامة --input-type. خارج هذه الحالات ، سيستخدم Node.js أداة تحميل الوحدة النمطية CommonJS.

مما يعني أنك لأستخدام ال export & import كما تستخدم في الكود الخاص بك يجب عليك توفير اياً من الشروط التالية

  • استخدام أداة تحميل وحدات ECMAScript عبر امتداد الملف .mjs
  • أو حقل "type" كما في package.json كما في التعليق السابق
  • العلامة --input-type.

كما في التوثيق الرسمي لل nodejs

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

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

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

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

  • إعلانات

  • تابعنا على



×
×
  • أضف...