如何解决在 Laravel 中将 JS 添加到 app.js 时未捕获的 ReferenceError
我有一些使用函数 detect.js 的浏览器嗅探器代码。未添加到我的项目时,它工作正常。尽管如此,当我尝试编译 JavaScript 并将其添加到 app.js 时,我在下面第一行的控制台中收到错误消息,刷新浏览器并检测浏览器版本。
未捕获的引用错误:forEach 未定义。
// Each Utility
var each = forEach = function (obj,iterator,context) {
if (obj == null) return;
if (nativeForEach && obj.forEach === nativeForEach) {
obj.forEach(iterator,context);
} else if (obj.length === +obj.length) {
for (var i = 0,l = obj.length; i < l; i++) {
iterator.call(context,obj[i],i,obj);
}
} else {
for (var key in obj) {
if (_.has(obj,key)) {
iterator.call(context,obj[key],key,obj);
}
}
}
};
似乎编译 JavaScript 正在对它做些什么。有什么建议吗?
解决方法
如果我使用 detect-browser 包。
npm i detect-browser
然后将以下内容添加到我的 app.js...
const { detect } = require('detect-browser');
const browser = detect();
try {
// handle the case where we don't detect the browser
if (browser) {
console.log(browser.name);
console.log(browser.version);
console.log(browser.os);
} else {
console.log('no browser');
}
} catch (e) {
console.log(e);
}
并发出 npm run prod
...
当我打开页面时,我在控制台中看到以下内容(没有错误)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。