常见问题

前端构建常见问题

sass-loader

参考:https://www.jianshu.com/p/24f98f66c6ba

部署场景问题

部署到 nginx 访问 400

原因 1: 后端配置权限过多,超过了 nginx 配置的默认最大值 解决: 修改 nginx 的配置

http { client_header_buffer_size 64k; #默认值1k large_client_header_buffers 4 64k; #默认值4 8k }

部署到 iis PUT、POST 等请求失败405异常

请求部署在 IIS7.5 上的 REST 服务的 Put/POST/DELETE 操作发生 HTTP Error 405.0 - Method Not Allowed 错误。

从HttpModule中移除 IIS拒绝PUT和DELETE请求是由于IIS为网站默认注册的一个名为WebDAVModule的自定义HttpModule导致的,如果我们的站点不需要提供针对WebDAV的支持,所以IIS7关闭WebDAV扩展服务,最为直接的方式就是利用如下配置将注册的HttpModule移除即可: <system.webServer> </system.webServer> 移除WebDAV模块 从模块中找到WebDAVModule并移除

部署到 iis 接口访问不通

TODO 敬请期待

关于系统如何放行部分接口

TODO 敬请期待

启动项目 sqlsugar 报错

question:“SqlSugar.SqlSugarException”类型的异常在 SqlSugar.dll 中发生,但未在用户代码中进行处理 中文提示 : 连接数据库过程中发生错误,检查服务器是否正常连接字符串是否正确,实在找不到原因请先 Google 错误信息

请检查字符串连接是否正确

禁止运行脚本

错误内容:npm : 无法加载文件 D:\nodejs\node_global\npm.ps1,因为在此系统上禁止运行脚本。

因为在此系统上禁止运行脚本,也就是说没有权限呗,看一下:

d:> get-ExecutionPolicy Restricted 受限制的,表示状态是禁止的,那就给个权限: Set-ExecutionPolicy -Scope CurrentUser 输入:RemoteSigned

执行 SQL 出错

比如:列名 'CoverUrl' 无效。 一般数据库字段更新了会提示此错误,把对应字段加到数据库表上就可以了。

打包

如果部署iis访问不了情况可以有以下两种办法:

  1. 后端打包:在VS2022菜单<生成><发布>
  2. 直接打开La.WebApi.exe文件然后看控制台的错误日志
  3. web.config里面有个false 改为 true,iis重启项目后运行网站后,跟目录下面 有个文件夹 log 里面有错误日志文件
  4. 有环境的请使用Laplace_deb.sql,sql2019版本直接导入,没有环境的可以使用SQLite版本,laplace.net.db,并在配置
  5. 前端打包:npm run build:prod
✓ built in 2m 20s

溢出解决方案

FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory
删除命令
rimraf node_modules
  1. 重新构建
npm i
  1. 增加内存机制
npm install -g increase-memory-limit
  1. 执行
 increase-memory-limit
  1. 修改node_modules.bin\webpack.cmd文件,全局搜索 “%_prog%” 替换为 %_prog%即可
  2. 修改package.js
  "scripts": {
 "dev": "vite",
 "build:prod": "vite build",
 "build:stage": "vite build --mode staging",
 "preview": "vite preview"
},

改成

  "scripts": {
 "dev": "node.exe --max-old-space-size=10240 node_modules/vite/bin/vite.js",
 "build:prod": "node.exe --max-old-space-size=10240 node_modules/vite/bin/vite.js build",
 "build:stage": "vite build --mode staging",
 "preview": "vite preview"
},
  1. 重新打包
npm run build:prod