Pebble JavaScript Несколько файлов JS (Pebble.js)

Я создаю проект на CloudPebble с помощью JavaScript.

У меня есть «Constants.js», в котором находится переменная, к которой я хотел бы получить доступ, используя «app.js», который является основным содержимым приложения. Однако при запуске приложения я получаю следующую ошибку:

[PHONE] pebble-app.js:?: JavaScript Error:
TypeError: Cannot read property 'length' of undefined

Вот мой код:

Константы.js

var mainMenuOptions = ["MenuOption1", "MenuOption2", "MenuOption3"];

app.js

var UI = require('ui');
var Vector2 = require('vector2');
var constants = require('Constants.js');

var mainMenu = new UI.Menu({
});

for (var i = 0; i < constants.mainMenuOptions.length; i++) { //Error occurs here
  mainMenu.item(0, i, { title: constants.mainMenuOptions[i] });
}
...

Любая помощь приветствуется. Спасибо!


person Abushawish    schedule 12.01.2016    source источник


Ответы (1)


Я считаю, что ваш Constants.js должен иметь следующий формат:

var Constants = {
   mainMenuOptions: ["MenuOption1", "MenuOption2", "MenuOption3"]
};

this.exports = Constants;

А потом в app.js сделать

var constants = require('Constants');

чтобы получить к нему доступ.

Использовал этот подход в своем самом первом приложении Pebble.js Autoinsult и это сработало.

person Yuriy Galanter    schedule 12.01.2016
comment
Большое спасибо, Юрий. Отличный туториал, который вы написали с помощью Autoinsult, и за это спасибо — обязательно загляну на ваш сайт. - person Abushawish; 18.01.2016