SocketStream не выполняет ничего из недавно добавленного файла JS в клиенте

Я делаю это, чтобы загрузить все файлы JS в app папка

ss.client.define('main', {
  view: 'app.jade',
  css:  [
    'libs/reset.css',
    'app.styl'
  ],
  code: [
    'libs/jquery-2.1.0.min.js',
    'libs/angular-1.2.10.min.js',
    'libs/lodash-2.4.1.min.js',
    'app'
  ],
  tmpl: '*'
});

Есть 3 файла в app, 2, которые пришли с проектом по умолчанию и 1, который я добавил. Первые 2 работают нормально, но тот, который я добавил, не выполняется!

Самое смешное, что когда в этом файле есть ошибки, я их устанавливаю в консоли Chrome, но ни одна функция не выполняется или переменная не добавляется на страницу.

Есть идеи почему?

1 ответ

Для этого потребуется доступ к переменной окна / глобальному объекту.

Поэтому вам нужно require это из вашего входного файла. Обычно это означает наличие файла кода lodash в вашей директории фактического кода (/client/code/[...]). Т.е. вы бы поместили его не в папку libs, а в основную папку приложения, хотя там можно сделать еще одну папку libs.

Это то, что я всегда делал, чтобы требовать, например, bootstrapJS. Он бросает вызов организации клиентской части, поскольку они настраивают это, но это - способ, которым вещи должны быть сделаны для вещей как этот.

Альтернативой является удаленное требование (из CDN) из основного файла представления app.jade.

script(src="//cdnjs.cloudflare.com/ajax/libs/lodash.js/2.4.1/lodash.min.js")

Другие вопросы по тегам