typescript - esModuleInterop: true, אך TSLint מציג שגיאה עם: "ניתן לייבא כברירת מחדל רק באמצעות הדגל 'esModuleInterop'"

אני לא בטוח למה אני מקבל את שגיאת הכותרת בשתי ייבואויות ברירת המחדל למטה:

// ./src/classes/FirestoreConnection.ts import admin, {firestore} from "firebase-admin"; import firebase from "firebase"; // TS1259: Module '"/home/owner/PhpstormProjects/

קרא עוד →

reactjs - למה המודול שלי ריק {} כשמריצים Jest ומייבאים מודול ESM?

אני מייבא את הייבוא ברירת המחדל מחבילה ב-node_module שמייצאת מודול ESM. הגדרתי את Jest/Babel שלי כך שהוא הפסיק להתרעם על SyntaxError: Unexpected token import, אבל עכשיו כשהייבוא של המודול מצליח, מתברר שהמודול הוא אובייקט ריק. האם אני צריך לשנות את הקוד שלי בצורה מסוימת? (נ.ב. כנראה שזה ברור מאליו, אבל הייבוא עובד טוב באפליקציה שלי.) (נ.נ.ב. אני משתמש ב-Create React App ו-TypeScript, למקרה שזה משנה משהו.)

jest.config.js

module.exports = { mod

קרא עוד →

node.js - איך לגרום ל-@babel/register להמיר ייבוא של ESM?

אני משתמש בזה כדי להמיר קבצי TypeScript בזמן ריצה.

import babelRegister from "@babel/register" babelRegister({ presets: [ "@babel/preset-env", "@babel/preset-react", "@babel/preset-typescript", ], extensions: [".tsx"], cache: false, })

הכל עבד בסדר עד שניסיתי להעביר את בסיס הקוד מ-CommonJS ל-ESM.

לפי סינדרה סורהאוס, צריך להחליף את require ב-import ולהוסיף

קרא עוד →

node.js - ייבוא מודול CommonJS בפרויקט TypeScript שמייצא מודולי ES

אני יוצר ספריית NodeJs ב-Typescript ואני מתכנן שהיא תתמוך ב-Node@14+. לכן, החלטתי לבסס את הפרויקט הזה כ-ESModule במקום CommonJs. עכשיו יש כמה ספריות נדרשות שהן CommonJs ואני מתקין את @types שלהן. האימפורטים של קובץ ה-typescript שלי נראים כך:

import { Command } from 'commander'; import inquirer from 'inquirer'; import { resolve } from 'path'; import { render } from 'mustache'; import { copySync, readdirSync, readFile, readFileSync, writeFile } from 'fs-extra';

קרא עוד →

TypeScript - הסרת --always-strict מקובץ 'tsconfig.json' במודול ESM

ESM ו-"use strict"


מאז שחרור הדגלים הבאים של tsconfig.json...

  • $ tsc --module "Node16"
  • $ tsc --moduleResolution "Node16"

...אני כותב רק מודולי JavaScript לפי התקן ES6, ב-"TypeScript". אני מבין שהוספת "use strict"; למסמך JavaScript

קרא עוד →

node.js - ייבוא מודולים משורש הפרויקט (Node 18 + TS + ESM)

אני מנסה לייבא מודול משורש פרויקט ה-Node שלי במקום להשתמש בנתיב יחסי. אני משתמש ב-Node 18, ESM, Typescript ומריץ את זה עם ts-node-esm.

קוד :

// import { number } from './check.js' // works import { number } from 'check.js' // does not work console.log(number)

שגיאה :

~/Code/ts-esm (main)*$ yarn dev yarn run v1.22.19 ts-node-esm src/start.ts /home/rjurado/Code/ts-esm/node_modules/ts-node/src/index.t

קרא עוד →

javascript - האם יש יתרון במעבר ל-ESM אם אני כבר משתמש ב-TypeScript בשירות Node.js שלי

שימוש המקרה הנוכחי שלי הוא שאני משתמש ב-node-fetch בשירות שלי והגרסה האחרונה של node-fetch (3.x) היא מודול ESM טהור, מה שאומר שאני אהיה תקוע בגרסה 2.x ולא אוכל לעדכן אותה.

האפשרויות שלי הן או להמיר את השירות שלי ל-ESM מ-CJS או לעבור ללקוח HTTP אחר כמו axios. שתי האפשרויות דורשות הרבה מאמץ ואני מנסה לראות איזו אפשרות הגיונית יותר.

אז השאלה שלי היא האם יש יתרון למעבר מ-CJS ל-ESM אם השירות כבר נכתב ב-TypeScript?

קרא עוד →

להעביר פרויקט webpack react-typescript למודולים של ESM

יש לי פרויקט Typescript מבוסס על nodejs, React ושהוא נארז עם Webpack5 בסיס הקוד מכיל מודולים של שרת (.ts), מודולים של לקוח (.ts, .tsx) ומודולים כלליים (.ts) עד כה לא היו בעיות בבנייה התחלתי להעביר את בסיס הקוד למודולי ESM יישמתי תיקונים ב-package.json וב-tsconfig.json כדי לתמוך ולהפיק ESM החלפתי את כל שמות הקבצים מ-*.ts ל-*.mts, והשארתי את *.tsx כפי שהם tsc הכריח אותי לשנות את הייבוא כך שיכלול

קרא עוד →

javascript - איך לתקן require() של מודול ES /dir/node_modules/@angular/core/fesm2015/core.mjs לא נתמך

ב-VSCode, כללתי את תוסף Quokka.js. ניסיתי להריץ אותו על קובץ TypeScript וקיבלתי את השגיאה הבאה:

require() of ES Module /project/node_modules/@angular/core/fesm2015/core.mjs not supported.  Instead change the require of /project/node_modules/@angular/core/fesm2015/core.mjs to a dynamic import() which is available in all CommonJS modules.  ​​​​​at ​​​​​​​​Object.<anonymous>​​​ ​libs/features/orders/src/lib/components/order-list.component.ts:1

פרויקט זה משתמ

קרא עוד →

javascript - Webpack אינו מצליח לפתור ייבוא עבור מודול ESM

אני מנסה להשתמש ב-ESM עם TypeScript ו-Webpack במונורפו של NX. אחרי קצת קונפיגורציה, אני מצליח להמיר ל-ESM עם tsc. בשביל זה, הייתי צריך להוסיף ".js" לייבואיות יחסיות.

import { AppModule } from './app/app.module.js';

עכשיו כשאני מנסה להשתמש ב-webpack, זה לא נראה שהוא מזהה שזה ESM. הנה השגיאה שאני מקבל:

ERROR in ./apps/nxnest/src/main.ts 9:0-48 Module not found: Error: Can't resolve './app/app.module.js' in '/home/gabriel/tmp/nxnest/apps/nxnest/src' re

קרא עוד →