公司测试反馈我们的网页无法自Firefox 60上打开,报错信息为“invalid identity escape in regular expression”, 且报错行数和为1,这样无法查找报错位置。网上搜可能是regex导致的,但所有解决方案均无效。最后尝试改造vite,改造后居然能正常显示报错位置,再使用“@vitejs/plugin-legacy”即可解决兼容性问题。附vite.config.js配置

import { defineConfig,loadEnv } from 'vite'
import vue from '@vitejs/plugin-vue'
import path from 'path'
import legacyPlugin from '@vitejs/plugin-legacy';
// https://vitejs.dev/config/
export default ({mode}) => {
    const env = loadEnv(mode,process.cwd(), '')
    return defineConfig({
        server: {
            port: 8080,
            proxy: {
                '/api/': {
                    target: `http://${env.IP}:8080/`,
                    changeOrigin: true
                }
            }
        },
        plugins: [
            vue(),
            legacyPlugin({
                targets: ['firefox 60'], // 需要兼容的目标列表,可以设置多个
            })
        ],
        resolve: {
            alias: {
                '@': path.resolve(__dirname, 'src')
            }
        },
        css: {
            preprocessorOptions: {
                scss: {
                    charset: false,
                    additionalData: '@use "@/assets/style/variables.scss" as *;',
                }
            }
        }

    })
}