22.问题汇总持续更新
学习过程中问题汇总
数据库相关
问题 1
ER_NOT_SUPPORTED_AUTH_MODE
错误解决。
最新的 mysql
模块并未完全支持 MySQL 8
的“caching_sha2_password” 加密方式,而“caching_sha2_password”在 MySQL 8
中是默认的加密方式。因此,下面的方式命令是默认已经使用了“caching_sha2_password”加密方式,该账号、密码无法在mysql模块中使用。
简单说就是目前 MySQL 8.0
以上的版本的加密方式,Node
还不支持。
解决方法:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
上述指令需启动
mysql
的情况下执行。
问题 2
上述提示多半是端口被占用了,建议修改 egg
启动的端口号,在 config/config.default.js
中,如下:
config.cluster = {
listen: {
path: '',
port: 7009, // 项目启动的端口号
hostname: '0.0.0.0'
}
}
问题 3
服务器安装社群版 mysql
报错说没有任何匹配?
解决方案
安装前要先禁用 mysql
,先跑一下后面这个指令 sudo yum module disable mysql
。
网站相关
问题 1
网站部署到服务器上之后,通过 IP
地址,无法访问到,咋整?
解决方案
前往服务器实例,安全组,将你所部署的端口加入安全组,具体操作可自行搜索。
问题 2
部署上线之后跨域该如何解决?
解决方案
服务端项目下,通过 egg-cors
插件解决,具体配置如下图:
问题 3
部署到线上环境后,遇到如下图的报错:
请将 Zarm
版本降为 2.8.2,因为高版本不兼容 React 的最新版本,这个问题官方没有很好的解决。
注意,降版本的时候,服务器内项目的 node_module 包清理一下,会有缓存。
问题 4
报错:styleImport is not a function
解决办法:
vite-plugin-style-import 插件作者,在后期更新的时候,将默认导出的方法变成了一个 object
,
所以同学们可以尝试这样的写法:
import { default as styleImport } from 'vite-plugin-style-import'
或者
import styleImport from 'vite-plugin-style-import'
const _styleImport = styleImport.default
...
_styleImport({
.....
})
问题 5
如果遇到"Failed to load PostCSS config",可以尝试将根目录下的 postcss.config.js
的后缀改成 .cjs
结尾。