Новичок, как получить доступ к шаблону модуля javascript в моем случае? - PullRequest
0 голосов
/ 15 апреля 2011

Я определил следующий модуль в MyModule.js :

MyModule.js:

MyModule = {

    controller: {
       paintCar: function(color){
            //PAINTING PROCESS
       }
    },

    tester: {
        ...
    },

};

Затем у меня есть другойфайл javascript, other.js :

other.js :

MyModule.controller.paintCar('red');

Мой index.html

<body>
    <script scr="MyModule.js"></script>
    <script src="other.js"></script>
  </body>

Все эти файлы помещаются в каталог WebContent Eclipse Dynamic Web Project.

В other.js , когда я пытаюсь запустить приведенный выше код, я получаю сообщение об ошибке " MyModule неопределен ».Почему?

Ответы [ 2 ]

1 голос
/ 15 апреля 2011

Вы ошиблись src здесь: <script scr="MyModule.js">.Это могло бы быть обнаружено при базовом автоматическом тестировании качества .

(оригинальный ответ до подтверждения теории). Предположительно, потому что вы не загружаете файлы скриптов должным образом.Поскольку вы не показали нам код, который это делает (или даже не сказали нам, какую среду вы используете), трудно сказать точно, как вы ошиблись.

Предполагая, что вы используете JS на веб-странице на стороне клиента, ваш код должен выглядеть примерно так:

<script src="MyModule.js"></script>
<script src="other.js"></script>

Порядок значительный.Конечные теги обязательны.Синтаксис самозакрывающегося тега недопустим (если документ не используется как application / xhtml + xml)

(используется синтаксис HTML 5. Для HTML 4 / XHTML 1 добавьте атрибут типа. Для HTML 3.2 добавьтеязыковой атрибут)

1 голос
/ 15 апреля 2011

Вы не упомянули свою среду, но в целом вы должны убедиться, что JavaScript в MyModule.js выполняется перед JavaScript в other.js, потому что вам нужно MyModule.js для установки переменной MyModule.

Как вы это сделаете, будет зависеть от окружающей среды. В веб-браузере вы могли бы сделать это, добавив два тега script, сначала один для MyModule.js, а затем для other.js (хотя часто для использования на веб-сайтах вы хотите иметь процесс сборки, который объединяет ваши скрипты в один файл для минимизации HTTP-запросов). В NodeJS есть целый механизм require.

Обновление на основе ваших правок:

Похоже на опечатку:

<body>
    <script scr="MyModule.js"></script>
             ^^-- here, they're transposed
    <script src="other.js"></script>
</body>

Если эта опечатка на самом деле отсутствует в вашем файле, то обратите внимание, что файлы находятся там, где веб-сервер ожидает, что веб-сервер не создается заглавными буквами, такого рода вещи. По сути, это правильно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...