Vuejs 2 + laravel elixir + lodash Uncaught ReferenceError: _ не определен

Я использую инструменты, указанные в заголовке. Я импортирую lodash в свой bootstrap.js

window._ = require('lodash');

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

created() {
   this.test();
},

methods: {
   test: _.debounce(function () {
      console.log('calculating', true);
      setTimeout(function () {
         console.log('calculating', false);
      }.bind(this), 1000)
   }, 500),
}

Однако, если я удалю window._ = require('lodash'); и вставлю lodash вручную на страницу, все будет работать нормально, например

<script src="https://cdn.jsdelivr.net/lodash/4.13.1/lodash.js"></script>

Что мне не хватает?

Кроме того, в чем преимущество импорта библиотек с помощью require вместо использования Gulp для слияния и искажения всего?


person Tiago Matos    schedule 24.11.2016    source источник
comment
Вы пробовали только var _ = require('lodash') `   -  person Saurabh    schedule 25.11.2016
comment
Извините, это не сработало   -  person Tiago Matos    schedule 25.11.2016


Ответы (1)


Я не уверен, почему вы получаете эту ошибку, связанную с _.

Что касается вашего другого вопроса, я могу подумать о следующем преимуществе использования require над gulp или любым другим инструментом сборки:

  • Все инструменты сборки поставляются со своим собственным набором зависимостей и других аксессуаров, что увеличивает общий размер вашего кода.
  • Вы можете начать полагаться на их плагины, и может прийти время, когда вам нужно использовать grunt для одной задачи, а для других задач вы используете grunt, цитируя из gulp-grunt

Что делать, если ваш любимый плагин для grunt еще недоступен для gulp? Не волнуйтесь, вам не о чем беспокоиться! Почему бы вам просто не подключиться к вашей конфигурации ворчания?

  • Вам нужно будет управлять обновлением различных плагинов gulp и следить за тем, чтобы все они работали с новыми обновленными версиями.

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

person Saurabh    schedule 25.11.2016
comment
Извините за мой очень поздний ответ! Я до сих пор не мог понять, что происходит! Я только что создал новый проект Laravel, и он работает, как и ожидалось. А в старом нет! Злиться... :/ - person Tiago Matos; 13.12.2016