javascript - Socketio לא עובד נכון עם Nodejs/Typescript ו-React

ניסיתי לגרום ל-socket.io לעבוד עם ה-backend שלי ב-Nodejs ו-Typescript ועם ה-frontend ב-React + JSX, זו החוויה הראשונה שלי עם socket.io אבל זה היה סיוט. זהו קובץ ה-server.ts שלי

import Express, {Application} from 'express'; import dotenv from 'dotenv'; const app: Application = Express(); import http from 'http'; //getting the Socket Type from socket io import {Socket} from 'socket.io'; //importing the IO object form seperate fi

קרא עוד →

node.js - תיקון מותאם אישית למודול הבנוי של Nodejs ב-typescript

אני כותב יישום REPL באמצעות TypeScript עם מודול ה-readline המובנה של Node.js. כדי לבנות shell מותאם אישית, יש צורך לשנות חלק קטן במימוש של ה-completer ב-readline. מצאתי את קוד המקור של readline וברצוני לבצע תיקון קטן מ-output += '\r\n\r\n'; ל-output += '\r\n'; בשורה 665.

אני מניח שהגישה היא שיהיה גרסה מתוקנת של readline.js ולכתוב הצהרת סוג עבורו. אבל מאחר ש-readline הוא מודול מובנה, יותר מדי משתנים (למשל primordials בשורה 65

קרא עוד →

node.js - לא מצליח להריץ את הפרויקט שלי ב-nodejs ו-typescript, ואני מקבל את השגיאה ".ts כהרחבת קובץ לא מוכרת"

אני עכשיו מקבל את השגיאה הזו:

זה קרה לאחר שהוספתי "type": "module" ל-package.json

package.json

{ "name": "Test", "version": "1.0.0", "description": "", "main": "index.js", "scripts"

קרא עוד →

node.js - Nodejs (Typescript+vscode) דיבוג: איך לפתור מפות מקור לשני תיקיות שונות?

יש לי שני פרויקטים. הפרויקט הראשון הוא שרת ווב שמריץ סקריפטים. הפרויקט השני מציג אוסף של סקריפטים שהפרויקט הראשון מריץ.

אני משגר את שרת האינטרנט דרך כניסה ב-.vscode/launch.json. אני מתייחס לתוכנית כ-$ {workspaceFolder:first}/src/webserver.ts ומתייחס ל-JS המקומפלת כ-outFiles: [ "{workspaceFolder:first}/**/*.js" ].

שרת האינטרנט מקבל את הבקשה ומשגר את קובץ ה-JS בתיקיית הפרויקט השנייה אך אינו משתמש בקוד המקור שמצויין במפת המקור.

קרא עוד →

node.js - לא מצליח לבצע Typescript, NodeJS, ו-Sequelize בגלל שגיאת מודל

אני מנסה להריץ את sequelize על NodeJS. אני כותב את הקוד ב-Typesscript הגרסאות של התוכנה שאני משתמש בהן הן כדלקמן:

nodejs - 14.16.0 sequelize - 6.5.1 typescript - 4.2.3

Typescript נבנה בהצלחה אך כאשר מריצים את הפקודה node על קובץ index.

קרא עוד →

node.js - שגיאת חיבור ב-Docker עם Nodejs (Hapi.js) ו-Prisma

אני רוצה להכניס את אפליקציית Nodejs שלי לדוקר. בעת פריסה שלה באמצעות npm run build ו-start אני יכול לשלוח לה בקשות. אבל כאשר אני יוצר תמונת דוקר אני נתקל בבעיות: קודם כל יש לי EXPOSE 8080 בקובץ Dockerfile שלי. לאחר מכן אני מריץ docker run -p=3000:8080 --env-file .env my-docker-file

קרא עוד →

node.js - NodeJs עם Express לא מפרש נתוני טופס מ-node-fetch

אני יוצר שני APIs עם NodeJS, Express, ו-TypeScript. API אחד יקבל בקשה עם סוג תוכן של multipart/form-data, וישתמש בגוף הבקשה כדי לבצע בקשה נוספת ל-API שני.

אני משתמש ב-Postman, אז שרשרת הבקשות נראית משהו כזה

Postman -> First API -> Second API

אני משתמש ב-node-fetch כדי לבצע בקשה מה-API הראשון ל-API השני. גוף הבקשה הוא FormData, שמכיל כמה קבצים וזוגות מפתח-ערך.

const form = new FormData();

קרא עוד →

node.js - הכרז משתנה גלובלי ב-TypeScript/NodeJS

אני מנסה להגדיר משתנה גלובלי mockedCrossFetch כך שמקרי המבחן שלי יוכלו להשתמש בו בקלות כדי לדמות תגובות:

jest.mock("cross-fetch"); import fetch from "cross-fetch" declare global { let mockedCrossFetch: jest.MockedFunction<typeof fetch>; } globalThis.mockedCrossFetch = fetch as jest.MockedFunction<typeof fetch>;

המְחוּשֵׁב מתלונן עם:

Property 'mockedCrossFetch' does not exist on type 'typeof globalTh

קרא עוד →

node.js - איך לאתחל את AWS XRay לכל הלמבדות בפרויקט NodeJS ללא שרת

כפי שאני מבין, צריך לאתחל את XRay לפני כל לקוחות ה-AWS, וגם לפני לקוחות HTTP אם אני רוצה לעקוב גם אחרי בקשות HTTP יוצאות. זהו הקוד לאתחול XRay.

import aws from 'aws-sdk' import AWSXRay from 'aws-xray-sdk' import http from 'http' import https from 'https' AWSXRay.captureHTTPsGlobal(http) AWSXRay.captureHTTPsGlobal(https) AWSXRay.capturePromise() AWSXRay.captureAWS(aws)

זה נראה קל עבור למדה אחת. עם זאת, יש לי פרויקט NodeJS ללא שרת שיש לו מספר למדות, ועוד רבות יתוו

קרא עוד →

javascript - אמזון S3 - להעביר מחרוזת להעלאת מספר מחרוזות ב-S3 Bucket ב-nodejs

נניח שיש לי לולאה פשוטה כזו:

for (const i=0;i<3;i++) { to(`This counter is ${i}`) }

אני רוצה שיהיה לי בקובץ שלי בסוף:

  • המונה הזה הוא 0
  • מנבא זה הוא 1
  • המונה הזה הוא 2

ניסיתי לעשות את

קרא עוד →