Vuejs 2 + laravel elixir + lodash Uncaught ReferenceError:_未定义

时间:2016-11-24 23:12:37

标签: lodash laravel-5.3 laravel-elixir vuejs2

我使用标题中指定的工具。我在bootstrap.js中导入lodash

window._ = require('lodash');

然而,当我尝试使用类似这样的东西时(类似于here的例子),我得到了标题中描述的错误

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来合并和丑化所有内容有什么好处?

1 个答案:

答案 0 :(得分:0)

我不确定您为什么会收到与_相关的错误。

关于你的另一个问题,我可以考虑使用require优于gulp或任何其他构建工具:

  • 所有构建工具都附带了自己的一组依赖项和其他附件,这会增加您的整体代码大小。
  • 您可能会开始依赖他们的插件,时间可能会到来,当您需要使用grunt执行任务时,而对于其他任务您正在使用grunt,从gulp-grunt
  • 开始
  

如果你最喜欢的grunt插件还没有用于吞咽怎么办?不要担心,没有什么可担心的!你为什么不加入你的grunt配置呢?

  • 您必须管理不同gulp插件的更新,并确保所有插件都使用新的更新版本。

这些是我经历或阅读的一些内容,但这些工具确实消除了构建,热重新加载,压缩或混淆代码的痛苦,但是可以有其他原始方法来执行这些操作,这些正在为你提供一个抽象。