mix社区是跨界社区,融合机器思维/设计思维/商业思维。 mix社区是mixlab的线上社区,mixlab是一所面向未来的实验室。
让每个人无限可能 Enable Infinite Possibilities for Everyone!
如何开始:
数据存储在mongodb,并使用redis做缓存。
mac系统安装步骤:
$ brew install redis mongodb
$ brew services start redis
$ brew services start mongodb
其他系统安装方式请参考redis、mongodb官方文档。
由于登录采用的是github账号,所以需要去github申请下 Client ID 跟 Client Secret,路径:
Settings ---> Developer settings
然后填写到:
//config.default.js
config.passportGithub = {
key: '',
secret:''
};
先从mixlab官方仓库下载项目
$ git clone https://github.com/MixLab-Tech/mix-community.git
然后用npm或者yarn安装依赖包
$ npm i
开发项目
$ npm run dev
浏览器打开地址:
$ open http://localhost:1215/
部署到线上服务器
修改文件:
// {app_root}/config/config.prod.js
内容修改为:
exports.mini_assets = true;
exports.alinode = {
// 从 `Node.js 性能平台` 获取对应的接入参数
appid: process.env.EGG_ALINODE_APPID || '',
secret: process.env.EGG_ALINODE_SECRET || '',
};
运行:
$ npm i --production
$ npm run assets
$ npm start
$ npm stop
其他命令,包括代码检查、单元测试等。
- Use
npm run lint
to check code style. - Use
npm test
to run unit test. - Use
npm run autod
to auto detect dependencies upgrade, see autod for more detail.
开发过程中可以在mix社区求助,或者参考: [egg]: https://eggjs.org
通过github登录,github账号的邮箱需要设置,如果未设置,会显示与已有用户重复,无法登录(此问题已经修复)。
目前已发现qq邮箱不支持github账号认证,建议改用163邮箱或其他.
认证邮件如下:
如果是通过nginx代理来部署服务,记得在nginx设置里把真实IP设置上,否则github的回调地址会出错,注意调试authorize请求. 一个简单的示例:
//mixlab.conf
server {
server_name www.mixlab.top
listen 80;
location / {
proxy_pass http://127.0.0.1:1215;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
也许你会用上 process.env.NODE_ENV 来控制一些配置
#node中常用的到的环境变量是NODE_ENV,首先查看是否存在
echo $NODE_ENV
#如果不存在则添加环境变量
export NODE_ENV=production
#环境变量追加值
export path=$path:/home/download:/usr/local/
#某些时候需要删除环境变量
unset NODE_ENV
#某些时候需要显示所有的环境变量
env
此版本基于egg的nodejs社区二次开发而来。
注意在运行前检查下配置文件,config.mongoose,config.passportGithub 等。