2016-05-30 3 views
1

У нас есть приложение, созданное с помощью требования js, JQuery. Теперь мы хотели бы добавить угловой 2 на один из экранов приложения. Я опробовал несколько примеров, используя angular2, отличный и отлично работающий.Угловая 2 с утилитой js, требующей js

Теперь я планирую интегрировать это с нашим приложением. Таким образом, согласно ссылке ниже, я обнаружил, что мы должны использовать system.js в angular2 вместо require.js https://github.com/angular/angular/issues/5412

Но в этом случае у меня есть некоторые утилиты JS, которые я не могу изменить, как он используется в различных экранах. Утилита JS имеет синтаксис требует

define(['jquery','misc','utils','common','screenUtils'], 
    function(jQuery, misc,utils,common,screenUtils) { 
    //Public function goes here. 
return publicFunctions; 
} 
); 

Пожалуйста совет в этом случае, как я буду добавлять зависимость к моему новому угловому 2 компоненту. Я новичок в angular2 и не знаю, как вводить утилиту js с требованием.

import {Component} from '@angular/core'; 

@Component({ 
    selector: 'animate-app', 
    templateUrl: 'ts-src/animate.tpl.html', 
    host: {'class' : 'ng-animate page2Container'} 
}) 
export class AnimateComponent{ 
} 

Прошу совета.

ответ

0

Я думаю, что вы можете настроить свой JS-файл в SystemJS. Загрузчик поддерживает различные форматы модулей, такие как System, CommonJS и AMD.

Вот пример:

System.config({ 
    map: { 
    yourlib: 'path-to/lib.js' 
    } 
}); 

Тогда вы затем сможете импортировать свои Lib таким образом:

import * as yourlib from 'yourlib'; 

или

import {test} as yourlib from 'yourlib'; 

Смотрите эту plunkr в качестве образца (файл lib.js, config.js и src/app.js): https://plnkr.co/edit/nRaO0c4Qmr3KUcFhVHbq?p=preview.

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