Import assignment cannot be used when targeting EC

2020-05-24 19:53发布

I'm trying to use the follwing line:

import Clipboard = require('clipboard');

and I get the following error:

   [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.

The error is in this line:

import Clipboard = require('clipboard');

I tried:

import * as Clipboard from 'clipboard';

and some other variations but couldn't figure out how to fix it.

I'm using typescript 2.0.0

Any ideas?

6条回答
啃猪蹄的小仙女
2楼-- · 2020-05-24 20:28

Try to set module as commonjs in tsconfig

You can try this example using webpack here

查看更多
▲ chillily
3楼-- · 2020-05-24 20:30

I used default member of imported function.

import {default as Clipboard} from 'clipboard';
查看更多
神经病院院长
4楼-- · 2020-05-24 20:33

I had the same problem and changing to:

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

fixed the problem. globals.ts file is in the main app folder, and I'm loading it up from subfolder services.

查看更多
Explosion°爆炸
5楼-- · 2020-05-24 20:36

In case you are using Angular CLI: I was able to compile my project after I had set the value of module to es2016 in the file src/tsconfig.app.json.

查看更多
神经病院院长
6楼-- · 2020-05-24 20:39

I was facing the same issue as you.

In the tsconfig.json file I replaced:

"module": "es6"

with

"module": "commonjs"

and restarted the terminal. It worked.

查看更多
倾城 Initia
7楼-- · 2020-05-24 20:52

I had the same problem after updating my vsCode.

just replace with "module": "es5"

to "module": "commonjs" in tsconfig.app.json

查看更多
登录 后发表回答