定位ECMAScript 2015模块时,无法使用导入分配

The*_*eal 26 clipboard typescript angular

我正在尝试使用以下行:

import Clipboard = require('clipboard');
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

   [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.
Run Code Online (Sandbox Code Playgroud)

错误在这一行:

import Clipboard = require('clipboard');
Run Code Online (Sandbox Code Playgroud)

我试过了:

import * as Clipboard from 'clipboard';
Run Code Online (Sandbox Code Playgroud)

和其他一些变化,但无法弄清楚如何解决它.

我正在使用typescript 2.0.0

有任何想法吗?

Sha*_*dit 34

我和你一样面临同样的问题.

tsconfig.json文件中,我替换了:

"module": "es6"
Run Code Online (Sandbox Code Playgroud)

"module": "commonjs"
Run Code Online (Sandbox Code Playgroud)

并重新启动终端.有效.

  • 工作,但在我的 `tsconfig.app.json` 文件而不是 `tsconfig.json` (5认同)

Kry*_*anC 11

我有同样的问题,并改为:

import * as myGlobals from "../globals";
Run Code Online (Sandbox Code Playgroud)

解决了这个问题.globals.ts文件位于主app文件夹中,我正在从子文件夹中加载它services.

  • 这不是同一个案例 (2认同)
  • 我知道这不是同一个案例,但我找到了你的帖子,因为我和你有完全相同的错误.并修复了我使用语法提供的代码行:import*as"name"from"path".希望可以帮助你. (2认同)

Leu*_*ipp 6

如果您使用的是Angular CLI:我在文件中设置了moduleto 值之后就可以编译我的项目es2016src/tsconfig.app.json.

  • es2016似乎不是模块字段的有效值.https://www.typescriptlang.org/docs/handbook/compiler-options.html (2认同)