Vyhledávání na webu

node.js - Jest neřeší lokální ESM importy

Mám projekt v Typescriptu se dvěma soubory, a.ts a b.ts. Druhý soubor importuji v a.ts takto

import * from "./b.js"

To funguje dobře. Typescript rozumí. Nicméně při spuštění Jesta (používajícího ts-jest) dostanu

Cannot find module './b.js' fr

Přečtěte si více →

typescript - esModuleInterop: true, přesto TSLint hlásí chybu: "lze importovat pouze jako default import při použití přepínače 'esModuleInterop'"

Nejsem si jistý, proč dostávám chybu titulu u obou výchozích importů níže:

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

Přečtěte si více →

reactjs - Proč je můj modul prázdný {} při spuštění Jest a importování ESM modulu?

Importuji výchozí import z balíčku node_module, který exportuje ESM modul. Nastavil jsem svůj Jest/Babel tak, aby přestal hlásit SyntaxError: Unexpected token import, ale nyní, kdy se modul úspěšně importuje, se ukázalo, že modul je prázdný objekt. Potřebuji nějak transformovat svůj kód? (P.S. Asi to ani nemusím říkat, ale import v mé aplikaci funguje v pořádku.) (P.P.S. Používám Create React App a TypeScript, pokud to něco mění.)

jest.config.js

Přečtěte si více →

node.js - Jak získat @babel/register pro transpile importů ESM?

Používám následující k překladu souborů TypeScript za běhu.

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

Všechno fungovalo dobře, dokud jsem se nepokusil migrovat kódovou základnu z CommonJS na ESM.

Podle Sindreho Sorhuse je nutné nahradit requ

Přečtěte si více →

node.js - Importování modulu CommonJS v projektu TypeScript exportujícím ESModuly

Vytvářím knihovnu NodeJs v Typescriptu a plánuji, aby podporovala Node@14+. Rozhodl jsem se tedy založit tento projekt jako ESModule místo CommonJs. Nyní existují některé knihovny, které vyžadují CommonJs, a instalují se jejich @types. Importy mého typescriptového souboru vypadají takto:

import { Command } from 'commander'; import inquirer from 'inquirer'; import { resolve } from 'path'; import { render } from 'mustache'; import { copySync, readdirSync, readFile, r

Přečtěte si více →

typescript - Vynechání --always-strict z 'tsconfig.json' v ESM modulu

ESM & "use strict"


Od vydání následujících přepínačů tsconfig.json...

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

...psal jsem pouze moduly JavaScriptu standardizované podle ES6, v "TypeScriptu". Podle mého chápání j

Přečtěte si více →

node.js - Importovat moduly z kořene projektu (Node 18 + TS + ESM)

Snažím se importovat modul z kořenového adresáře mého Node projektu místo používání relativní cesty. Používám Node 18, ESM, Typescript a spouštím to s ts-node-esm.

Kód :

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

Chyba :

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

Přečtěte si více →

javascript - Existuje nějaký přínos přejít na ESM, pokud již ve své službě Node.js používám TypeScript

Můj současný případ použití je, že ve své službě používám node-fetch a nedávná verze node-fetch (3.x) je čistý ESM modul, což znamená, že budu muset zůstat u verze 2.x a nebudu ji moci aktualizovat.

Moje možnosti jsou buď převést moji službu z CJS na ESM, nebo přejít na nějakého jiného HTTP klienta, například axios. Obě možnosti vyžadují hodně úsilí a já se snažím zjistit, která možnost má větší smysl.

Takže moje otázka je, jestli je nějaký přínos přejít

Přečtěte si více →

Migrovat projekt webpack react-typescript na moduly ESM

Mám projekt v Typescriptu založený na Node.js, Reactu a zabalený pomocí Webpack5 kódová základna má serverové moduly (.ts), klientské moduly (.ts, .tsx) a společné moduly (.ts) Dosud jsem neměl problémy s kompilací Začal jsem migrovat kódovou základnu na ESM moduly Provedl jsem úpravy v package.json a tsconfig.json pro podporu a výstup ESM Změnil jsem všechny názvy souborů z *.ts na *.mts a *.tsx zů

Přečtěte si více →

javascript - Jak opravit require() ES modulu /dir/node_modules/@angular/core/fesm2015/core.mjs není podporováno

Na VsCode jsem zahrnul rozšíření Quokka.js. Pokusil jsem se ho spustit na souboru TypeScript a obdržel jsem následující chybu:

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

Přečtěte si více →