1

我正在使用 Laravel 5.5。我已经运行了npm install,并且通常我有一个运行 Javascript 的良好工作环境,但是在尝试使用 lodash 的函数从数组中删除一个元素npm run dev时,我被抓住了。remove()

var array = [1, 2, 3, 4];
var evens = _.remove(array, function(n) {
    return n % 2 == 0;
});

上面的代码产生以下错误:

TypeError: _.remove is not a function

Lodash 已加载到resources/assets/js/bootstrap.js.

window._ = require('lodash');

其他 lodash 方法工作正常。

_.each([1, 2], function(n) {
    console.log(n);
});

知道为什么我不能使用.remove()吗?

4

1 回答 1

1

问题是我也在使用 Laravel Spark。Spark 不使用resources/assets/js/bootstrap.js并加载它自己的引导程序vendor/laravel/spark/resources/assets/js/spark-bootstrap.js

Spark 的引导程序实际上需要下划线包而不是lodash,因此会造成混淆。

window._ = require('underscore');
于 2017-09-19T11:46:09.040 回答