ReferenceError: define не определяется при вставке fuelux в datagrid.js

Я хотел бы добавить http://exacttarget.github.com/fuelux/ для создания datagrid. Я хотел добавить библиотеку, чтобы использовать ее. Я сделал следующее:

<link href="<spring:url value='/assets/css/fuelux.min.css' htmlEscape='true' />"      media="all" rel="stylesheet" type="text/css" />
<link href="<spring:url value='/assets/css/fuelux-responsive.min.css' htmlEscape='true' />" media="all" rel="stylesheet" type="text/css" />
<script src="<spring:url value='/assets/js/fuelux-datagrid.js' htmlEscape='true' />" type="text/javascript"></script>

Я уверен, что путь правильный, потому что они работают в других библиотеках. Однако я получаю следующую ошибку:

ReferenceError: define is not defined
[Break On This Error] 
define(['require','jquery'],function(require) {

где define(['require','jquery'],function(require) {... - код в fuelux-datagrid.js.

  • Что это за ошибка?
  • Я думаю, что define - это ключевое слово require.js. Означает ли это, что топливный-datagrid имеет зависимость от require.js?
  • Кто-нибудь может объяснить мне, как загрузить библиотеку, чтобы она работала?

Ответы

Ответ 1

Если вы не используете RequireJS, вы можете обойти это, загрузив только loader.min.js в базовый тег script:

<script src="http://fuelcdn.com/fuelux/2.3/loader.min.js"></script>

Этот пакет содержит весь JavaScript, необходимый для Bootstrap и Fuel UX, без внешней зависимости от загрузчика AMD.

Ответ 2

Это сработало для меня:

<script src="https://raw.github.com/ExactTarget/fuelux/master/lib/require.js"></script>
<script type="text/javascript" src="https://raw.github.com/ExactTarget/fuelux/master/dist/datagrid.js"></script>

Я пробовал, что предложил @AdamAlexander, и что предлагается здесь и не работает. Я также попробовал последние требуемые и получил неприятное исключение. Идите фигуру.

Ответ 3

Да, они, похоже, зависят от RequireJS. Я должен согласиться, что у них мало ресурсов, которые объясняют, как загружать библиотеку (по крайней мере, из того, что я видел), но то, что я бы сделал, это load require.js и проверить, какие другие ресурсы он пытается загрузить впоследствии, в запросах сети.

Вот пример того, как настроить RequireJS. Вы также можете посмотреть свои документы.

<script src="scripts/require.js"></script>
<script>
  require.config({
    baseUrl: "/another/path", //here where it will look for scripts
    paths: {
        "some": "some/v1.0" //path to other dependencies not located in the base path
    }
  });
</script>