2016-09-15 1 views
3

Мы используем Gulp (только что перенесенный из ng-cli), чтобы построить наш угловой проект, в котором я использую Fuel-ui.Угловой модуль 2 (Fuel-ui) не работает, если он загружен из другого каталога

У меня странная ошибка. Я использую компонент предупреждения Fuel-ui в одном из наших компонентов. Если мы ссылаемся на топливо-ui от node_modules/fuel-ui folder в system.config.js, все в порядке. Если я ссылаться на него из сборки/поставщика/топливо-интерфейса, он не со следующей ошибкой:

EXCEPTION: Unexpected directive value 'undefined' on the View of component 'MyAlertComponent' 
platform-browser.umd.js:1900 EXCEPTION: Unexpected directive value 'undefined' on the View of component 'MyAlertComponent'BrowserDomAdapter.logError @ platform-browser.umd.js:1900 
platform-browser.umd.js:1900 STACKTRACE:BrowserDomAdapter.logError @ platform-browser.umd.js:1900 
platform-browser.umd.js:1900 Error: Unexpected directive value 'undefined' on the View of component 'MyAlertComponent' 
    at new BaseException$1 (http://127.0.0.1:3000/node_modules/@angular/compiler/bundles/compiler.umd.js:971:27) 
    at CompileMetadataResolver.getViewDirectivesMetadata (http://127.0.0.1:3000/node_modules/@angular/compiler/bundles/compiler.umd.js:12539:27) 
    at RuntimeCompiler._getCompiledTemplate (http://127.0.0.1:3000/node_modules/@angular/compiler/bundles/compiler.umd.js:14619:40) 
    at RuntimeCompiler._getTransitiveCompiledTemplates (http://127.0.0.1:3000/node_modules/@angular/compiler/bundles/compiler.umd.js:14637:84) 
    at eval (http://127.0.0.1:3000/node_modules/@angular/compiler/bundles/compiler.umd.js:14640:81) 
    at Array.forEach (native) 
    at RuntimeCompiler._getTransitiveCompiledTemplates (http://127.0.0.1:3000/node_modules/@angular/compiler/bundles/compiler.umd.js:14640:45) 
    at eval (http://127.0.0.1:3000/node_modules/@angular/compiler/bundles/compiler.umd.js:14640:81) 
    at Array.forEach (native) 
    at RuntimeCompiler._getTransitiveCompiledTemplates (http://127.0.0.1:3000/node_modules/@angular/compiler/bundles/compiler.umd.js:14640:45)BrowserDomAdapter.logError @ platform-browser.umd.js:1900 
zone.min.js:1 Error: Error: Unexpected directive value 'undefined' on the View of component 'MyAlertComponent' 

Соответствующая часть systemjs.config.js: работ, без ошибок:

var map = { 
     ... 

    "fuel-ui":      "node_modules/fuel-ui/bundles", 
    ... 
     }; 

Безразлично «т работы, дает исключение:

var map = { 
     ... 

    "fuel-ui":      "build/vendor/fuel-ui/bundles", 
    ... 
     }; 

Соответствующая часть компонента:

import {Component, Input,ElementRef} from '@angular/core'; 
import {Alert} from 'fuel-ui/fuel-ui'; 

@Component({ 
    host: { 
    '(document:click)': 'onClick($event)', 
    }, 
    selector: 'my-alert', 
    templateUrl: './app/components/shared/my-alert.component.html', 
    directives: [ Alert ] 
}) 
export class MyAlertComponent { 

Часть package.json:

"fuel-ui": "0.3.9", 
    "jquery": "2.1.3", 
    "ng2-bootstrap": "1.0.24", 
    "node-sass": "^3.7.0", 
    "reflect-metadata": "0.1.3", 
    "rxjs": "5.0.0-beta.6", 
    "systemjs": "0.19.26", 
    "ts-node": "^0.5.5", 
    "tslint": "^3.6.0", 
    "typescript": "^1.8.10", 
    "typings": "^1.3.2", 
"typings": "^1.3.2", 

файлы идентичны в обоих местах. Топливо-ui.js загружается в обоих случаях. Нет ошибок 404. Порядок загрузки загруженных js-файлов в обоих случаях одинаковый.

Все еще первая конфигурация работает, вторая - нет. Я попытался сделать то же самое со всеми другими ссылочными пакетами в system.config.js, все работает с любым местом, которое я хочу использовать, за исключением fuel-ui.

У вас есть идеи, что пошло не так здесь?

+0

Спасибо @ tec-goblin за то, что начал щедрость. Другие: Я работаю над этой проблемой. Это похоже на проблему с загрузкой Systemjs для меня. Файлы js загружаются в том же порядке физически. Если я проверю вкладку сети в Chrome, все будет выглядеть одинаково. Единственное различие, которое я смог определить, - это разное расположение топлива-ui, на которое ссылаются. Файлы идентичны в обоих местах. –

ответ

1

Я думаю, что это может помочь bit.Try следующую ссылку Github - https://github.com/angular/angular/issues/7526 Там, может быть проблема, если компонент ребенка объявлена ​​же в родительском компоненте. Убедитесь, что ваш дочерний компонент объявлен перед родительским компонентом.

+0

Мы проверим завтра утром и обновим. –

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