2016-03-29 4 views
3

Я столкнулся с очень сложной проблемой, и я надеюсь, что кто-нибудь может мне помочь! Я уже много обсуждаю здесь по той же проблеме, но я применил то, что нашел в качестве решения, но он все еще не работает!Angular2: проблема с интеграцией ng2-select

Так у меня есть приложение, в угловых 2, и я пытаюсь интегрировать NG2-выбор, и это возвращение скучной ошибки:

angular2-polyfills.js:332 Error: SyntaxError: Unexpected token <

Я знаю, все говорят, что это проблема с моим System.config но я не могу это решить!

Так что есть мой код!

System.config

System.config({ 
map: { 
    'ng2-bootstrap': 'node_modules/ng2-bootstrap', 
    'ng2-select': 'node_modules/ng2-select' 
}, 
packages: { 
    src: { 
     format: 'register', 
     defaultExtension: 'js' 
    } 
} 
}); 
System.import('src/main').then(null, console.error.bind(console)); 

main.ts

import {bootstrap} from 'angular2/platform/browser'; 
import {AppComponent} from "./components/app/app.component"; 

import 'ng2-select'; 
import 'ng2-bootstrap'; 

bootstrap(<any> AppComponent); 

мой компонент

import {Component} from 'angular2/core'; 
import {select} from "ng2-select"; 

@Component({ 
templateUrl: 'src/views/lead/lists.view.html', 
directives: [select], 
}) 
export class LeadListsComponent { 
team: string = "Ringo"; 
teams: string[] = ["John", "Paul", "George", "Ringo"]; 
} 

I have the files on the node_modules/ng2-angular properly I think! There is the print

Но есть только файлы TS ... может быть, проблема? Что мне делать?

----- UPDATE -----

Существует мой tsconfig.json, как хорошо!

{ 
"compilerOptions": { 
    "target": "es5", 
    "module": "system", 
    "moduleResolution": "node", 
    "sourceMap": true, 
    "emitDecoratorMetadata": true, 
    "experimentalDecorators": true, 
    "removeComments": false, 
    "noImplicitAny": false 
}, 
"exclude": [ 
    "node_modules", 
    "typings/main", 
    "typings/main.d.ts" 
] 
} 

Заранее благодарен!

+0

Можете ли вы поделиться с plundkr вашего кода? – shiv

+0

Есть ли способ uso npm на plundkr? Я не очень хорошо знаю, как делиться своим скриптом так, как он есть! –

+0

@GustavoBissolli вы нашли решение? – MrFoh

ответ

2

Я думаю, ваша проблема, когда вы делаете импорт для выбора имени является неправильным:

В MyComponent вы должны быть потянув его так:

import {Select} from "ng2-select"; 

Если S в выберите капитализируются , Обычно, когда вы получаете:

angular2-polyfills.js:332 Error: SyntaxError: Unexpected token <

Это означает ошибка 404, что ваш модуль не загружал правильно. Но ng2-select экспортирует Select, а не select.

Вы можете также сделать:

import {Select} from "ng2-select/select"; 

Я не 100% уверен, как НПМ загружает его в свой каталог узлов модулей, как я не использовал его.

+0

Я пробовал каждую комбинацию, но она все еще бросает эту ошибку! Теперь я устанавливаю «https://github.com/AngularClass/angular2-webpack-starter», а затем попытаюсь интегрировать ng2-select и сообщать вам об этом! –

+0

Доры не работают! Я вполне! Хахаха ... Может быть, проблема в компоненте нет? Я постараюсь сделать это на панклере и поделиться здесь! –

+0

Вызывается ли ng2-select приложением? Надеюсь, webpack работает, но какая боль в прикладе! –

-1

импорт {SELECT_DIRECTIVES} из 'ng2-select';

1

То, что сработало для меня следующая

в systemjs.config.JS:

внутри карта добавить: 'ng2-select': 'node_modules/ng2-select'

внутри пакеты добавить: 'ng2-select': {main:'ng2-select.js', defaultExtension: 'js'}

затем импортировать как это: import {SELECT_DIRECTIVES} from "ng2-select";

3

Если вы используете ng2-select, ну вещи изменились немного. Вы должны изменить конфигурацию systemjs ниже:

systemjs.config.js

map: { 
    ..., 

    'ng2-select': 'node_modules/ng2-select', 

    ... 
}, 
packages: { 
    ...., 
    'ng2-select': {main:'ng2-select.js', defaultExtension: 'js'} 
} 

заявление добавить импорт ниже в вашем модуле

import { SelectModule } from "ng2-select/ng2-select"; 

затем добавить "SelectModule" в NgModule .imports array.

Теперь в компоненте добавить следующий оператор импорта:

import { SelectComponent } from "ng2-select/ng2-select"; 
+0

OMG! Большое вам спасибо, Ты спас мой день :) Спасибо :) –

+1

Вы очень желанный и угадай, что! Это первый раз, когда я ответил на вопрос о SO –

+0

Спасибо, спасибо, что –

Смежные вопросы