ค้นหาเว็บไซต์

typescript - esModuleInterop: true แต่ TSLint ยังแสดงข้อผิดพลาดว่า: "สามารถนำเข้าดีฟอลต์ได้โดยใช้แฟลก 'esModuleInterop' เท่านั้น"

ฉันไม่แน่ใจว่าทำไมฉันถึงได้รับข้อผิดพลาดเกี่ยวกับชื่อเรื่องทั้งในการนำเข้าเริ่มต้นทั้งสองด้านล่างนี้:

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

อ่านต่อไป →

reactjs - ทำไมโมดูลของฉันถึงเป็น {} ว่างเมื่อรัน Jest และนำเข้าโมดูล ESM?

ฉันกำลังนำเข้าการนำเข้ามาตรฐานจากแพ็กเกจ node_module ที่ส่งออกโมดูล ESM ฉันได้ตั้งค่า Jest/Babel ของฉันเพื่อให้มันหยุดแจ้งข้อผิดพลาด SyntaxError: Unexpected token import แต่ตอนนี้เมื่อนำเข้าโมดูลสำเร็จแล้ว ปรากฏว่าโมดูลนั้นเป็นวัตถุว่าง ฉันจำเป็นต้องแปลงโค้ดของฉันบางอย่างหรือไม่? (ป.ล. คงไม่ต้องบอก แต่การนำเข้าทำงานได้ดีในแอปของฉัน) (ป.ป.ล. ฉันใช้ Create React App และ TypeScript เผื่อว่าจะมีผลแตกต่าง)

jest.config.js

module.exports = { module

อ่านต่อไป →

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

ตามที่ Sindre Sorhus กล่าว ต้องเปลี่ยน require เป็น imp

อ่านต่อไป →

node.js - การนำเข้าโมดูล CommonJS ในโปรเจกต์ Typescript ที่ส่งออกเป็น ESModules

ฉันกำลังสร้างไลบรารี 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, wr

อ่านต่อไป →

typescript - การละเว้น --always-strict จาก 'tsconfig.json' ในโมดูล ESM

ESM & "use strict"


ตั้งแต่การเปิดตัวของแฟลก tsconfig.json ต่อไปนี้...

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

...ฉันเขียนเฉพาะโมดูล JavaScript ที่เป็นไปตามมาตรฐาน ES6 ใน "TypeScript" จากที่ฉันเข้าใจ การเพิ่ม "use stri

อ่านต่อไป →

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_modul

อ่านต่อไป →

javascript - การเปลี่ยนไปใช้ ESM มีประโยชน์อะไรบ้างถ้าฉันกำลังใช้ TypeScript อยู่แล้วในบริการ Node.js ของฉัน

กรณีการใช้งานปัจจุบันของฉันคือฉันใช้ node-fetch ในบริการของฉัน และเวอร์ชันล่าสุดของ node-fetch (3.x) เป็นโมดูล ESM แท้ ซึ่งหมายความว่าฉันจะติดอยู่กับ v2.x และจะไม่สามารถอัปเดตมันได้

ตัวเลือกของฉันมีเพียงสองอย่างคือ แปลงบริการของฉันจาก CJS เป็น ESM หรือเปลี่ยนไปใช้ไคลเอนต์ HTTP อื่นเช่น axios ทั้งสองตัวเลือกต้องใช้ความพยายามมาก และฉันกำลังพยายามดูว่าตัวเลือกไหนมีเหตุผลมากกว่า

ดังนั้นคำถามของฉันคือ มีประโยชน์อะไรบ้างในการเปลี่ยนจาก CJS เป็น ESM หากบริการนั้

อ่านต่อไป →

ย้ายโปรเจกต์ webpack react-typescript ไปยังโมดูล esm

ฉันมีโปรเจกต์ Typescript ที่สร้างขึ้นบน nodejs, React และรวมแพ็กเกจด้วย Webpack5 โค้ดเบสมีโมดูลฝั่งเซิร์ฟเวอร์(.ts), โมดูลฝั่งไคลเอนต์(.ts,.tsx) และโมดูลทั่วไป(.ts) ยังไม่มีปัญหาในการ build จนถึงตอนนี้ ฉันเริ่มย้ายโค้ดเบสไปยังโมดูล esm ปรับแก้ package.json และ tsconfig.json เพื่อรองรับและส่งออก esm เปลี่ยนชื่อไฟล์ทั้งหมดจาก *.ts เป็น *.mts, และเว้น *.tsx ไว้เหมือนเดิม tsc บังคับให้ฉันเปลี่ยน i

อ่านต่อไป →

javascript - วิธีแก้ไข require() ของ ES Module /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 monorepo หลังจากตั้งค่าบางอย่าง ฉันสามารถแปลงเป็น 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/ga

อ่านต่อไป →