2016-09-23 19 views
16

Próbuję użyć follwing wiersz:przypisanie importu nie może być używany podczas kierowania ECMAScript 2015 modułów

import Clipboard = require('clipboard'); 

i pojawia się następujący błąd:

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

błąd jest w tej linii :

import Clipboard = require('clipboard'); 

próbowałem:

import * as Clipboard from 'clipboard'; 

i kilka innych wariantów, ale nie udało się ustalić, jak to naprawić.

Używam maszynopis 2.0.0

Jakieś pomysły?

Odpowiedz

4

miałem ten sam problem i zmienia się:

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

rozwiązaniu problemu. Plik globals.ts znajduje się w głównym folderze aplikacji i ładuję go z podfolderów "usług".

+1

To nie to samo. – TheUnreal

+0

Wiem, że to nie ten sam przypadek, ale znalazłem Twój wpis, ponieważ miałem dokładnie ten sam błąd co Ty. I naprawiłem to za pomocą linii kodu, którą dałem ci ze składnią: import * jako "nazwa" z "ścieżki". Miałem nadzieję, że ci to pomoże. – KrystianC

0

spróbuj ustawić moduł jako commonjs w tsconfig

Można spróbować tego przykładu stosując WebPack here

14

Ten sam problem i było skierowane.

W tsconfig.json

i otrzymuje

"moduł": "ES6", z "moduł" "commonjs"

wznowiona terminal. Zadziałało.

5

W przypadku korzystania kątowa CLI: Udało mi się skompilować mój projekt po tym, jak ustawić wartość module do es2016 w pliku src/tsconfig.app.json.

+0

es2016 nie wydaje się być prawidłową wartością dla pola modułu. https://www.typescriptlang.org/docs/handbook/compiler-options.html –