2015-10-25 3 views
12

Я использую requirejs в большом проекте. Этот проект скоро будет повышен до углового2.Может ли system.js заменить require.js

Angular2 использует system.js, поэтому я думаю о переключении на system.js тоже. Должен ли я удалять ссылку на библиотеку requirejs и включать system.js вместо этого и ожидать, что она будет работать, или что-то, что я здесь не понимаю?

Я попытался просто удалить файл require.js и добавить файл system.js вместо этого, но получаю сообщения об ошибках, указывающие, что определение не определено. Вы можете помочь? Нужно ли мне require.js в дополнение к system.js?

+0

ли Угловая 2,0 до сих пор используют SystemJS или это также совместим с Webpack? –

+2

Он совместим с обоими – rgullhaug

ответ

8

Я просто переключился на system.js тоже. Вам нужно заменить require.js на system.js и добавить простой тег скрипта. Так оно и должно выглядеть следующим образом:

<script src="~/lib/system.js/dist/system.js" type="text/javascript"></script> 
<script> 
    // set our baseURL reference path 
    System.config({ 
     baseURL: '/app' 
    }); 
    System.import('startup.js'); 
</script> 
+0

. И вы получили его, не изменяя ничего в существующих файлах, которые раньше использовали requirejs? – rgullhaug

+0

Да, какую версию system.js вы используете? – Rem

+4

У меня это работает. Проблема заключалась в том, что функция определения и функция require недоступны в глобальной области. Мне пришлось сделать вот так: window.define = System.amdDefine; window.require = window.requirejs = System.amdRequire; – rgullhaug

3

в дополнение к выше шаги установить

System.defaultJSExtensions = true;

по умолчанию systemjs не добавляя расширение .js

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

  • Нет связанных вопросов^_^