Problemas encontrados en el proyecto y soluciones.

error de inicio

1. No se encontró una versión coincidente para el error @babel/types@^7.10.1

    解决:cnpm install

2. Error de compilación del módulo (de ./mode_modules/sass-loader/dist/cjs.js): TypeError: this.getOptions no es una función

解决:sass-loader版本太高,卸载后下载低版本

3.calcetín.js

/node_modules/sockjs-client/dist/sockjs.js 

解决:注释掉:self.xhr.send(payload);

const utf8Encoder = nuevo TextEncoder(); ^ReferenceError: TextEncoder no está definido

引入mangoose报错
解决:node版本太低,切换高版本的node

otros problemas

1. Volver a la página después de saltar a un enlace externo no se actualiza

    解决:浏览器问题(谷歌不刷新且没有缓存,手机浏览器部分会刷新,部分会直接展示缓存,与手机的版本以及浏览器的设置有关),改变思路,换了个方案:打开新的窗口(window.open)

2. Vant agrega nuevos componentes para indicar que no hay componentes en el paquete es

    解决:卸载重新安装

3. El proyecto de clonación de git informó un error: OpenSSL SSL_read: la conexión se restableció, errno 10054

    解决:命令行输入 git config --global http.sslVerify "false"

4. Cuando el-upload carga un archivo, si el archivo anterior aún se está cargando, el archivo no cargado se sobrescribirá cuando se vuelva a cargar.

    之前在调用success方法时,直接将返回结果res加入attachments里

    解决:改为在success里遍历fileList,通过判断response的值将fileList遍历塞给attachments.
success(res, file, fileList) {
    
    
      console.log(res, file, fileList);
      if (res.code == SUBMIT_NO) {
    
    
        this.$message.error(res.message);
        return;
      } else if (res.code == 401) {
    
    
         //登录超时
      }
      this.attachments.splice(0, this.attachments.length);
      // 附件中是否有上传中状态
      const upLoading = fileList.findIndex(item => {
    
    
        return item.status !== 'success';
      });
	  fileList.forEach(item => {
    
    
		if (item.response) {
    
    
		    this.attachments.push(item.response);
		} else {
    
    
		    this.attachments.push(item);
		}
	});
}

5. El formulario de selección múltiple de Vue no puede leer la propiedad '_selectionChanged' de undefined"

    解决:表格添加属性:lazy: true

6. Error de solicitud de dominio cruzado CORS

    解决:html里添加<meta http-equiv="Access-Control-Allow-Origin" content="*" />

7. el-dialog + messagebox superpone varios cuadros de viñetas que dan como resultado varias capas de máscara. Cuando el cuadro de viñetas más externo está cerrado, la capa de máscara se muestra en la capa más externa

    解决:之前的dialog使用的是 :modal-append-to-body="false" 改为 append-to-body

8. La verificación del formulario el-form se activa al ingresar a la página

解决:1.将表单的触发方式由change改为blur,这种方式会导致选择器组件无法及时更新错误提示
	  2.在mounted里执行clearValitdate(),清除表单校验。
	  this.$nextTick(() => {
	      this.$refs['form'].clearValidate();
	    });

9. border-image y border-radius no son compatibles, border-radius no es válido

解决:将border-image替换为background-image,内部再套一个div,设置border-radius,内容放在这个div里面。

10. No se puede ingresar el formulario el-form en vue3

解决:el-form中model与ref同名了,改掉即可

11. el-upload sube el error de avatar TypeError: xhr.upload.addEventListener no es una función

原因: mockjs拦截了XHR
解决:在node_modules中找到mockjs/dist/mockjs 8308行 mockjs/src/mock/xhr/xhr.js 216行 下添加这段代码 MockXMLHttpRequest.prototype.upload = xhr.upload;然后重启项目

11. Problema de redondeo solucionado (normal en IE, redondeo en Chrome)

原因:不同浏览器的原生方法不一致
解决:引入mathjs包,使用mathjs.format(value, precision)

12. ver $ ruta no válida

原因:路由跳转是会销毁当前父组件的,对于新的组件来说,初始化的$route是不会判断其变化的
解决:加上immediate: true, 即立即执行

13. La conversión de hora de IOS falló: la nueva fecha ("2022-08-04 5:00:00") devuelve una fecha no válida

原因:IOS只能解析“/”分割的日期
解决:new Date("2022-08-04 5:00:00".replace(/-/g, '/'))

14. Problema de pérdida de precisión de cálculo de cantidad

解决:借助big.js/decimal.js解决

15. element-ui carga internacionalización bajo demanda

解决:
按需加载:babel.config.js中添加[
  'component',
  {
    libraryName: 'element-ui',
    styleLibraryName: 'theme-chalk'
  }
]
创建element-ui.js手动导入所有需要用的组件
main.js中添加
import '@/plugins/element-ui';
//国际化
import eleLocale from 'element-ui/lib/locale';
eleLocale.i18n((key, value) => i18n.t(key, value));

16. Los datos obtenidos por getBoundingClientRect() son todos 0

原因:在使用该函数获取元素在文档中的位置信息时,需保证元素已经在DOM上渲染才能使用
解决:在nextTick中调用

17. Advertencia del navegador: [DOM] El campo de contraseña no está contenido en un formulario

原因:Make sure that each authentication process (registration, login or change password) is grouped together in a single <form> element. Don’t combine multiple processes (like registration and login), or skip the <form> element.
解决:密码输入框套在<form>标签内

Supongo que te gusta

Origin blog.csdn.net/qq_41028148/article/details/123229117
Recomendado
Clasificación