У меня возникают проблемы с requirejs и относительными путями.RequireJS не соблюдает относительные пути, если не загружен на «mysite.com/»
Это в моем HTML-файл:
<script data-main="/app/main.js" src="//cdnjs.cloudflare.com/ajax/libs/require.js/2.1.1/require.js"></script>
Мой конфиг настроен следующим образом:
requirejs.config({
baseUrl: '/vendor',
paths: {
// APP FILES
'app-base' : '../app',
'app-config' : '../config',
models : '../models', // where the models and collections are
templates : '../templates',
views : '../views',
lib : '../lib',
tasks : '../tasks',
router : '../app/router',
// VENDOR FILES
marionette : 'backbone.marionette',
},
deps: ['router'],
shim: {...}
});
Когда мое приложение загружает из URL "локальный: 3000 /" или «локальный: 3000/приложения "все эти пути разрешаются правильно. Но когда он загружается из чего-то вроде «localhost: 3000/applications/app1», пути исправляются некорректно.
Пути выглядят так, соответственно.
Правильно:
"/models/test-model.js"
Неправильно:
"/applications/models/test-model.js"
Я загружаю свои модули с использованием CJS следующим образом:
define(function(require) {
var TestModel = require('models/test-model.js');
});
Когда я меняю вышеуказанное на это ->var TestModel = require('/models/test-model.js');
, он работает. Но это побеждает цель использования относительных путей.
Было бы очень приятно, если бы кто-нибудь мог мне помочь. Я смущен.
Похоже, мне пришлось снять «.js». Даже не понимал, что это было. Благодаря! – vernak2539