常见问题
前端构建常见问题
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访问不了情况可以有以下两种办法:
- 后端打包:在VS2022菜单<生成><发布>
- 直接打开La.WebApi.exe文件然后看控制台的错误日志
- web.config里面有个false 改为 true,iis重启项目后运行网站后,跟目录下面 有个文件夹 log 里面有错误日志文件
- 有环境的请使用Laplace_deb.sql,sql2019版本直接导入,没有环境的可以使用SQLite版本,laplace.net.db,并在配置
- 前端打包:npm run build:prod
✓ built in 2m 20s
溢出解决方案
FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory
删除命令
rimraf node_modules
- 重新构建
npm i
- 增加内存机制
npm install -g increase-memory-limit
- 执行
increase-memory-limit
- 修改node_modules.bin\webpack.cmd文件,全局搜索 “%_prog%” 替换为 %_prog%即可
- 修改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"
},
- 重新打包
npm run build:prod