• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

650
Views
No se puede usar la declaración de importación fuera de un módulo Electron React Typescript

¿Cómo resolver el famoso problema "Cannot use import statement outside a module" en una aplicación Electron-React-Typescript?

 //const { app, BrowserWindow } = require('electron'); import { app, BrowserWindow } from 'electron';

Error :

 import { app, BrowserWindow } from 'electron'; ^^^^^^ SyntaxError: Cannot use import statement outside a module

en package.json agregué:

 "type": "module",

devDependencies en paquete.json:

 "@types/node": "^14.14.28", "@types/react": "^17.0.2", "electron": "^11.2.3", "typescript": "^4.1.5", "webpack": "^5.21.2"

tsconfig.json:

 { "compilerOptions": { "target": "ES2018", "module": "CommonJS", "lib": ["dom", "esnext"], "outDir": "dist", "declaration": true, "declarationMap": true, "noEmit": true, "jsx": "react", "strict": true, "pretty": true, "sourceMap": true, "skipLibCheck": true, "noImplicitAny": false, "noImplicitThis": false, /* Additional Checks */ "noUnusedLocals": true, "noUnusedParameters": true, "noImplicitReturns": true, "noFallthroughCasesInSwitch": true, /* Module Resolution Options */ "moduleResolution": "node", "esModuleInterop": true, "allowSyntheticDefaultImports": true, "resolveJsonModule": true, "allowJs": true }, "include": ["src/**/*"], "exclude": [ "src/index.js", "dist", ] }

También agregué los complementos de babel.config.json:

 ["@babel/plugin-transform-modules-commonjs", { "allowTopLevelThis": true }],

y en paquete.json:

 "scripts": { "babel": "babel ./src/**/* -d dist", "start": "yarn run babel && electron .",
  • electrón : 11.2.3
  • mecanografiado: 4.1.5
  • nodo: v14.5.0
  • Sistema operativo: escritorio Ubuntu 18.04.4

¿Qué tengo que agregar/modificar para poder usar "importar"?

about 3 years ago · Santiago Trujillo
1 answers
Answer question

0

Gracias al experto de Electron, descubrí dos errores que causaron ese problema:

  1. Modifiqué la ruta principal en package.json

    "main": "./src/main/main.ts" ---> "main": "./dist/main/main.js"

    porque electron solo puede entender el archivo compilado

  2. Lo eliminé en package.js en

    "type": "module"

    que de lo contrario requeriría cambiar archivos .js to .cjs

about 3 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error