ค้นหาเว็บไซต์
ฉันไม่แน่ใจว่าทำไมฉันถึงได้รับข้อผิดพลาดเกี่ยวกับชื่อเรื่องทั้งในการนำเข้าเริ่มต้นทั้งสองด้านล่างนี้:
// ./src/classes/FirestoreConnection.ts import admin, {firestore} from "firebase-admin"; import firebase from "firebase"; // TS1259: Module '"/ อ่านต่อไป →ฉันกำลังนำเข้าการนำเข้ามาตรฐานจากแพ็กเกจ node_module ที่ส่งออกโมดูล ESM ฉันได้ตั้งค่า Jest/Babel ของฉันเพื่อให้มันหยุดแจ้งข้อผิดพลาด SyntaxError: Unexpected token import แต่ตอนนี้เมื่อนำเข้าโมดูลสำเร็จแล้ว ปรากฏว่าโมดูลนั้นเป็นวัตถุว่าง ฉันจำเป็นต้องแปลงโค้ดของฉันบางอย่างหรือไม่? (ป.ล. คงไม่ต้องบอก แต่การนำเข้าทำงานได้ดีในแอปของฉัน) (ป.ป.ล. ฉันใช้ Create React App และ TypeScript เผื่อว่าจะมีผลแตกต่าง)
jest.config.js
module.exports = { module อ่านต่อไป →ฉันกำลังใช้สิ่งต่อไปนี้เพื่อแปลงไฟล์ 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
อ่านต่อไป →ฉันกำลังสร้างไลบรารี 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 อ่านต่อไป →ตั้งแต่การเปิดตัวของแฟลก tsconfig.json ต่อไปนี้...
...ฉันเขียนเฉพาะโมดูล JavaScript ที่เป็นไปตามมาตรฐาน ES6 ใน "TypeScript" จากที่ฉันเข้าใจ การเพิ่ม "use stri
อ่านต่อไป →ฉันกำลังพยายามนำเข้าโมดูลจากโฟลเดอร์รากของโปรเจกต์ 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 อ่านต่อไป →กรณีการใช้งานปัจจุบันของฉันคือฉันใช้ node-fetch ในบริการของฉัน และเวอร์ชันล่าสุดของ node-fetch (3.x) เป็นโมดูล ESM แท้ ซึ่งหมายความว่าฉันจะติดอยู่กับ v2.x และจะไม่สามารถอัปเดตมันได้
ตัวเลือกของฉันมีเพียงสองอย่างคือ แปลงบริการของฉันจาก CJS เป็น ESM หรือเปลี่ยนไปใช้ไคลเอนต์ HTTP อื่นเช่น axios ทั้งสองตัวเลือกต้องใช้ความพยายามมาก และฉันกำลังพยายามดูว่าตัวเลือกไหนมีเหตุผลมากกว่า
ดังนั้นคำถามของฉันคือ มีประโยชน์อะไรบ้างในการเปลี่ยนจาก CJS เป็น ESM หากบริการนั้
อ่านต่อไป →ฉันมีโปรเจกต์ Typescript ที่สร้างขึ้นบน nodejs, React และรวมแพ็กเกจด้วย Webpack5 โค้ดเบสมีโมดูลฝั่งเซิร์ฟเวอร์(.ts), โมดูลฝั่งไคลเอนต์(.ts,.tsx) และโมดูลทั่วไป(.ts) ยังไม่มีปัญหาในการ build จนถึงตอนนี้ ฉันเริ่มย้ายโค้ดเบสไปยังโมดูล esm ปรับแก้ package.json และ tsconfig.json เพื่อรองรับและส่งออก esm เปลี่ยนชื่อไฟล์ทั้งหมดจาก *.ts เป็น *.mts, และเว้น *.tsx ไว้เหมือนเดิม tsc บังคับให้ฉันเปลี่ยน i
อ่านต่อไป →บน 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โคร
อ่านต่อไป →ฉันกำลังพยายามใช้ 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 อ่านต่อไป →