Javascript 将JS添加到Laravel中的app.JS时出现未捕获引用错误

Javascript 将JS添加到Laravel中的app.JS时出现未捕获引用错误,javascript,laravel,npm,laravel-mix,browser-detection,Javascript,Laravel,Npm,Laravel Mix,Browser Detection,我有一些使用该函数的浏览器嗅探器代码。如果不添加到我的项目中,它可以正常工作。尽管如此,当我试图编译JavaScript并将其添加到app.js时,我在控制台的下面第一行遇到一个错误,刷新浏览器并检测浏览器版本 未捕获引用错误:未定义forEach //每个实用程序 var each=forEach=function(对象、迭代器、上下文){ if(obj==null)返回; if(nativeForEach&&obj.forEach===nativeForEach){ forEach(迭代器,

我有一些使用该函数的浏览器嗅探器代码。如果不添加到我的项目中,它可以正常工作。尽管如此,当我试图编译JavaScript并将其添加到app.js时,我在控制台的下面第一行遇到一个错误,刷新浏览器并检测浏览器版本

未捕获引用错误:未定义forEach

//每个实用程序
var each=forEach=function(对象、迭代器、上下文){
if(obj==null)返回;
if(nativeForEach&&obj.forEach===nativeForEach){
forEach(迭代器,上下文);
}否则如果(对象长度===+对象长度){
对于(变量i=0,l=obj.length;i
编译JavaScript似乎正在对它做一些事情。有什么建议吗?

如果我使用这个软件包

然后将以下内容添加到我的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

当我打开页面时,我在控制台中看到以下内容(没有错误)


Detect.js最近一次更新是在2015年。你不应该在2021年使用它。你需要浏览器嗅探做什么?我们可能会建议替换。npm可能会确定变量的范围。看一下结果文件。请尝试使用
window.forEach=function(){…
。AKX的优点是-我正在将检测浏览器作为一个选项来解决检测浏览器(索引)的类似问题:300 Uncaught ReferenceError:require未定义我确信它已定义,但该问题必须与其他js或my laravel mix设置中javascript的网页压缩冲突。
npm i detect-browser
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);
}