web-dev-qa-db-fra.com

L'affectation d'importation ne peut pas être utilisée lors du ciblage des modules ECMAScript 2015

J'essaie d'utiliser la ligne suivante:

import Clipboard = require('clipboard');

et j'obtiens l'erreur suivante:

   [default] c:\xampp\htdocs\isitperfect\node_modules\angular2-clipboard\src\clipboard.directive.ts:2:0 
Import assignment cannot be used when targeting ECMAScript 2015 modules. Consider using 'import * as ns from "mod"', 'import {a} from "mod"', 'import d from "mod"', or another module format instead.

L'erreur est dans cette ligne:

import Clipboard = require('clipboard');

J'ai essayé:

import * as Clipboard from 'clipboard';

et quelques autres variantes, mais n'a pas pu trouver de solution.

J'utilise TypeScript 2.0.0

Des idées?

26
TheUnreal

J'étais confronté au même problème que vous.

Dans le fichier tsconfig.json que j'ai remplacé:

"module": "es6"

avec

"module": "commonjs"

et redémarré le terminal. Ça a marché.

33
Shashikant Pandit

J'ai eu le même problème et je suis passé à:

import * as myGlobals from "../globals";

résolu le problème. globals.ts le fichier se trouve dans le dossier principal app, et je le charge depuis le sous-dossier services.

9
KrystianC

Dans le cas où vous utilisez Angular CLI: j'ai pu compiler mon projet après avoir défini la valeur de module sur es2016 dans le fichier src/tsconfig.app.json.

6
Leukipp

J'ai eu le même problème après avoir mis à jour mon vsCode.

remplacez simplement par "module": "es5"

à "module": "commonjs" dans tsconfig.app.json

0
Tauseef Ahmed

Essayez de définir le module comme commonjs dans tsconfig

Vous pouvez essayer cet exemple en utilisant webpack ici

0
maxisam