2016-09-23 4 views
16

Я пытаюсь использовать follwing строки:назначения импорта не может быть использовано при ориентации ECMAScript 2015 модулей

import Clipboard = require('clipboard'); 

и я получаю следующее сообщение об ошибке:

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

Ошибка находится в этой строке :

import Clipboard = require('clipboard'); 

Я пробовал:

import * as Clipboard from 'clipboard'; 

и некоторые другие варианты, но не могли понять, как это исправить.

Я использую машинописный 2.0.0

Любые идеи?

ответ

4

У меня была такая же проблема, и изменения в:

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

исправили проблему. Файл globals.ts находится в основной папке «app», и я загружаю его из «services» подпапки.

+1

Это не тот случай – TheUnreal

+0

Я знаю, что это не тот случай, но я нашел ваше сообщение, потому что у меня была такая же ошибка, как и вы. И исправлено это с использованием строки кода, которую я дал вам с синтаксисом: import * как «name» из «path». Надеялся, что может вам помочь. – KrystianC

0

Попробуйте установить модуль в качестве CommonJS в TSconfig

Вы можете попробовать этот пример, используя WebPack here

14

тот же вопрос, я столкнулся.

В tsconfig.json

я заменил

"модуль": "ES6", чтобы "модуль": "CommonJS",

перезапущен терминал. Это сработало.

5

Если вы используете Угловой CLI: мне удалось скомпилировать мой проект после того, как я установил значение module в es2016 в файле src/tsconfig.app.json.

+0

es2016, похоже, не является допустимым значением для поля модуля. https://www.typescriptlang.org/docs/handbook/compiler-options.html –