3.1-issues.md
3.1 开发问题及解决¶
某些 css 文件不生效¶
检查文件路径没有问题。把这部分代码拷贝到其他能用的代码中,不生效,检查是类名写错了。
reactstrap 样式不生效¶
没有引入 bootstrap.min.css 类
请求跨域¶
前端和后端端口号不一致,目前后端设置允许跨域
app.all("*", function (req, res, next) {
res.header("Access-Control-Allow-Origin", "*"); // 允许跨域
res.header("Access-Control-Allow-Headers", "content-type");
res.header("Access-Control-Allow-Methods", "DELETE,PUT,POST,GET,OPTIONS");
if (req.method == "OPTIONS") {
res.sendStatus(200);
} else {
next();
}
});
数据库端口号冲突¶
默认 mysql 的端口号是 3306 端口,如果本地装有多个 mysql 数据库,例如 docker 内部也跑的一个,可能造成另一个无法正常启动。
实际环境中不可能有两个 mysql 在不同的端口跑。所以可以本地只开发一个项目,或者临时改一下数据库的端口号等。
node 不支持 ES6 语法¶
运行服务前,需要用 babel 编译成 es5 后才能执行
发送请求时,数据库报错¶
错误日志
/novel-reader/node_modules/mysql/lib/protocol/Parser.js:437
throw err; // Rethrow non-MySQL errors
Error: Cannot set headers after they are sent to the client at new NodeError (node:internal/errors:393:5)
报错是服务器返回了多个响应,应该返回一个值 res.send(data),然后 return
参考:https://blog.csdn.net/qq_48009509/article/details/121625588
数据库存储小说会不会太长¶
查阅数据库资料,logntext 字段的长度足够长,存放一个 10MB 的小说也绰绰有余。
执行查询语句时,可以不返回小说详情,先返回小说的标题等信息,这样查询的速度回更快。
静态资源引用路径¶
静态资源(图片、字体文件)是否需要打包到 JS 中?目前图片已经打包,但是字体图标没有打包,未来图片是否存在无法显示的问题等?
数据库分页查找¶
如果想加载某个章节的数据,能否从 longtext 字段中返回指定的字符串,不需要一次性返回全部的页面
token 如何在不同页面传参¶
登录页面验证后,如何在不同页面传参,目前使用 url search 参数传递 token。未来考虑 session 和 单点登录等技术
remove useless dependencies¶
run depcheck
and get
refrence:
- https://www.pluralsight.com/guides/how-to-remove-unused-dependencies-in-react
- https://simondosda.github.io/posts/2021-05-10-eslint-imports.html
- https://dev.to/manitej/remove-unused-npm-modules-in-less-than-30-seconds-4g8k
更新后发现报错,原因是 eslint 版本升级造成的,需要更新 eslintrc @babel/eslint-parser 依赖
自动生成 eslint 配置文件¶
npm init @eslint/config
参考 https://www.npmjs.com/package/eslint#installation-and-usage