Vue3 + vite2 打包后在chrome49内核下发生栈溢出?
今天发现一件很苦恼的事情,vue3 + vite2打包后发现在chrome49内核下发生栈溢出,而在84内核下则不会出现这个问题!
原因是我在打包时用了不同的命令:
测试环境打包:
vite build --mode testing
生产环境打包:
vite build --mode production
而两个环境中只有一处不同:
.env.test
VITE_APP_ENV=testing
当我把这个值修改为:
VITE_APP_ENV=production
栈溢出就消失了,有哥哥知道为什么嘛?
我用的vue版本是3.2.19,vite是2.6.8
打包命令:
在 Vue3 + Vite2 的项目中,遇到在 Chrome 49 内核下发生栈溢出,而在较新版本的 Chrome(如 Chrome 84)中不出现此问题,通常与几个可能的原因相关:
VITE_APP_ENV
设置为 production
时,Vite 的构建过程会启用更严格的代码压缩和优化。这些优化可能包括移除了一些在老版浏览器中可能引发问题的代码段,或者调整了代码结构以更好地兼容旧浏览器。production
模式下自动添加或调整这些 polyfills,以确保应用的兼容性。production
和其他环境之间的一致性。如果决定在 Vite 配置中添加 polyfills,可以在 vite.config.js
文件中进行如下设置(示例):
// vite.config.js
import { defineConfig } from 'vite';
import legacy from '@vitejs/plugin-legacy';
export default defineConfig({
plugins: [
legacy({
targets: ['defaults', 'not IE 11'] // 根据需要调整目标浏览器
})
]
});
请注意,上述代码是一个示例,并且可能需要根据你的具体需求进行调整。
html 代码如上, 我的打印纸张宽度是 176mm, 但是因为我设置了 child2 left:500mm 导致我的纸张被缩放了 理想情况 用 js 的话 我需要判断内部的内容 是否溢出,然后再设置 display:none 如何用 css 去从根节点解决这种问题?
在C中,是否可以在不造成整数溢出的情况下执行以下操作?我的答案需要是一个整数,稍后在程序中使用。代码打印为-337。正确答案应该是2014。
遇到的问题:项目第一次运行时,没问题不报错,然后保存项目,热更新重新加载时,导致项目断开,需要重新运行, 已经设置了set NODE_OPTIONS=--max_old_space_size但是不起作用,请问是什么原因呢? 报错信息如下:
events.js:377 RangeError [Error]: Maximum call stack size exceeded Emitted 'error' event on process instance at: npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! sea-wind-power@1.0.0 dev: vite --hos
所以我们有一个迷宫,有墙(W ),开放路径(O ),起点点(S)和终点点(F)。 我正在尝试编写一种算法,将迷宫文件转换为二维点阵列,形成网格。 一旦我有了网格,我想从迷宫中的“S”字符开始,并尝试找到是否有可能穿过“O”到达“f”。(返回布尔值true/false) 我知道这个迷宫是可解的,为什么我会得到一个StackOverFlowError..? 以下是Maze1.txt文件: 这是我的代码
本文向大家介绍如何解决vue打包vendor过大的问题?相关面试题,主要包含被问及如何解决vue打包vendor过大的问题?时的应答技巧和注意事项,需要的朋友参考一下 1、在webpack.base.conf.js新增externals配置,表示不需要打包的文件,然后在index.html中通过CDN引入 2、使用路由懒加载 官网
打包 Vue 项目使用以下命令: 执行以上命令,输出结果如下: 执行完成后,会在 Vue 项目下会生成一个 dist 目录,该目录一般包含 index.html 文件及 static 目录,static 目录包含了静态文件 js、css 以及图片目录 images(如果有图片的话)。 如果直接双击打开 index.html,在浏览器中页面可能是空白了,要正常显示则需要修改下 index.html