简体   繁体   中英

Failed to compile the ionic project

Error: This module is declared using 'export =', and can only be used with a default import when using the 'allowSyntheticDefaultImports' flag. Error in the file:

1 import FormData from "form-data"; ~~~~~~~~

node_modules/@kintone/rest-api-client/node_modules/form-data/index.d.ts:10:1

10 export= FormData; ~~~~~~~~~~~~~~~~~

Here is the code of the file:

// Definitions by: Carlos Ballesteros Velasco <https://github.com/soywiz>
//                 Leon Yu <https://github.com/leonyu>
//                 BendingBender <https://github.com/BendingBender>
//                 Maple Miao <https://github.com/mapleeit>

/// <reference types="node" />
import * as stream from 'stream';
import * as http from 'http';

export= FormData;

// Extracted because @types/node doesn't export interfaces.
interface ReadableOptions {
highWaterMark?: number;
encoding?: string;
objectMode?: boolean;
read?(this: stream.Readable, size: number): void;
destroy?(this: stream.Readable, error: Error | null, callback: (error: Error | null) => 
void): void;
autoDestroy?: boolean;
}

interface Options extends ReadableOptions {
writable?: boolean;
readable?: boolean;
dataSize?: number;
maxDataSize?: number;
pauseStreams?: boolean;
}

declare class FormData extends stream.Readable {
constructor(options?: Options);
append(key: string, value: any, options?: FormData.AppendOptions | string): void;
getHeaders(userHeaders?: FormData.Headers): FormData.Headers;
submit(
  params: string | FormData.SubmitOptions,
  callback?: (error: Error | null, response: http.IncomingMessage) => void
): http.ClientRequest;
getBuffer(): Buffer;
getBoundary(): string;
getLength(callback: (err: Error | null, length: number) => void): void;
getLengthSync(): number;
hasKnownLength(): boolean;
}

declare namespace FormData {
interface Headers {
  [key: string]: any;
}

interface AppendOptions {
  header?: string | Headers;
  knownLength?: number;
  filename?: string;
  filepath?: string;
  contentType?: string;
}

interface SubmitOptions extends http.RequestOptions {
  protocol?: 'https:' | 'http:';
}

}

Please try adding allowSyntheticDefaultImports: true to tsconfig and see if that resolves the issue.

Here is a link to a similar inquiry: This module is declared with using 'export =', and can only be used with a default import when using the 'esModuleInterop' flag

Also, here are some of the compiler options: https://www.typescriptlang.org/docs/handbook/compiler-options.html

Hopefully this helps.

You should set allowSyntheticDefaultImports to false not true

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM