2015-02-21 2 views
0

Основной вопрос, им пытаются превратить мой WebPack проект JSPM, в котором я загрузить JS на основе текущего вида сайта, как это:Безымянная требует в JSPM

var currentView = document.body.getAttribute('data-jscontroller'); 
    if (currentView) { 
     var viewPath = './views/' + currentView; 
     require(viewPath); 
     App.Views[currentView].init(); 
    } 

К сожалению, это возвращает ошибку:

es6-module-loader.js:7:26213 
TypeError: Module ./views/home not declared as a dependency. 

Содержимое требуемого файла - это простой объект, который просто создает объект с подписчиками событий для функциональности приложения для загруженного представления.

Есть ли способ достичь этого?

ответ

0

Выключено require статически разобраны, поэтому они не будут допускать переменные js внутри него. В этих случаях имеется System.import:

var currentView = document.body.getAttribute('data-jscontroller'); 
if (currentView) { 
    var viewPath = './views/' + currentView; 
    System.import(viewPath).then(function(){ 
     App.Views[currentView].init(); 
    }); 
} 
Смежные вопросы