2013-06-13 4 views
1

Я пытаюсь сделать browser example из требуют optimizer.I имеют свою структуру папок, как это и r.js и build.html в таком же уровне, как Js папкуТребовать JS Оптимизатор относительный путь проблема

js 
    lib 
    | a.js 
    | b.js 
    | c.js 
    scripts 
    | 1.js 
    | 2.js 
    | 3.js 
    main.js 

в main.js я указал путь, как этого

require.config({ 
    baseUrl : 'js', 
    paths: { 
     '1' : 'scripts/1', 
     '2' : 'scripts/2', 
     '3' : 'scripts/3', 

    } 
}); 

и им в том числе скриптов в модулях, такие как

define(function (require, exports, module) { 
    "use strict"; 

    //load Modules 
    var one = require('1'), 
     two = require('2'), 
     three = require('3'); 
     ...... 
     ..... 
}) 

и мой build.htnl имеет конфиг как этот

{ 
    baseUrl: 'js', 
    mainConfigFile: 'js/main.js', 
    name: 'main', 
    optimize: 'none', 
    out: function (text) { 
     document.getElementById('output').value = text; 
    }    
} 

, но его не строить, я могу видеть 1,2,3 файлы правильно загружены г (в сети Dev инструмент я видел), но получаю ошибку пути, например root/js/js/lib/a.js,

не знаю, почему js/js повторяется, так как 1,2,3 файла загружаются правильно. Я пытался некоторая комбинация с удалением 'js' from build add '.' и т.д .. не комбинация не работает.

Какова фактическая ошибка в относительном пути .. какой путь я должен указать в main и build config?

Заранее спасибо

+0

Я не уверен, почему вы используете пути так, как вы. '1'' 2' и '3' находятся на одном пути, поэтому они должны использовать общий префикс. Сначала я предполагаю, что это нестандартное использование может вызвать проблемы. Помимо этого, мне нужно будет увидеть, как вы кодируете свои модули. –

+0

Я отредактировал код .. добавил способ, как я включаю модули – Sarath

+0

Где вы загружаете 'a.js', так как это тот, который дает вам ошибку. –

ответ

0

Ок .. наконец я понял, проблемы поиска пути.

я загружал файлы в lib в другом файле, как require('js/lib/a'), require('js/lib/b') и т.д.

Когда я добавить это также, как путь этот вопрос решается.

paths: { 
     '1' : 'scripts/1', 
     '2' : 'scripts/2', 
     '3' : 'scripts/3', 
     'a' : 'libs/a', 
     'b' : 'libs/b', 
     'c' : 'libs/c' 

    } 

и избежать путаницы, имейте это в виду

  • Использовать общий BaseUrl для основного файла и создания файла.
Смежные вопросы