配置
ThinkJS 提供了灵活的配置,可以在不同的模块和不同的项目环境下使用不同的配置,且这些配置在服务启动时就已经生效。
注意:不可将一个 http 请求中的私有值设置到配置中,这将会被下一个 http 设置的值给冲掉。
项目模块
ThinkJS 默认创建的项目是按模块来划分的,可以在每个模块下定义不同的配置。其中 common 模块下定义一些通用的配置,其他模块下配置会继承 common 下的配置。如:home 模块下的最终配置是将 common 和 home 模块下配置合并的结果。
项目环境
ThinkJS 默认支持 3 种项目环境,可以根据不同的环境进行配置,以满足不同情况下的配置需要。
development 开发环境
testing 测试环境
production 线上环境
项目里也可以扩展其他的环境,当前使用哪种环境可以在 入口文件 中设置,设置 env值即可。
数据库配置
一开始是这么配数据库的:
//在通用模块src/common/config/db.js
export default {
type: 'mysql',
adapter: {
mysql: {
host: '127.0.0.1', //域名
port: ' ', //端口
database: '', //数据库
user: 'root', //用户
password: ' ', //密码
prefix: 'APP_', //前缀
encoding: 'utf8'
},
mongo: {
}
}
};
然后我想在模块project下重新配数据库的配置:
//这时候改配置要在src/apartment/config/config.js
export default {
//key: value
db:{
type: 'mysql',
adapter: {
mysql: {
prefix: 'project_',
}
}
}
};
project 模块下的最终配置是将 common 和 project 模块下配置合并的结果。也就是prefix最终是'project_',这样我们在project模块下改写了通用的配置
怎么添加数据到数据库?
首先我们可以用postman工具来模拟请求。
在postman上选择post请求,地址是http://127.0.0.1:8360/project/apartment
参数如图:
这时候给数据库上是插入信息成功了。
接下来我们来看下数据库,如图:
总结:我们请求url是http://127.0.0.1:8360/project/apartment
参数:title="阿里山"&pic="这个是图片的base64"
这时候请求过来找到project模块下的控制器下的apartment.js文件,apartment.js然后会找到在数据库对应表project_apartment,在表面添加对应的信息!(project_是我们之前加的前缀,apartment代表是在控制器里面apartment.js文件,所以表和控制器是一一对应的!)