创建EggJS项目的脚手架:整合微信公众平台基本服务
- 表单验证插件:egg-validate
- 跨域设置插件:egg-cors
- 国际化插件:egg-i18n
$ npm init tell
? Please select a boilerplate type (Use arrow keys)
basic - egg-boilerplate-basic
> mp - wechat app boilerplate
rtc - real time communication app boilerplate
在 package.json 指定 egg.framework,默认为 egg
{
"egg": {
"declarations": true,
"framework": "egg-tell-basic"
},
"dependencies": {
"egg": "^2.15.1",
"egg-scripts": "^2.11.0",
"egg-tell-basic": "^1.0.5"
},
}
指定配置文件覆盖数据库地址
/**
* 跨域设置
* @member Config#mp
* @property {String} appId - 公众平台应用编号
* @property {String} appSecret - 公众平台应用密钥
* @property {String} mchId - 商户平台商家编号
* @property {String} apiKey - 商户支付密钥
* @property {number} notifyUrl - 支付结果回调地址
*/
config.mp = {
appId: '',
appSecret: '',
mchId: '',
apiKey: '',
notifyUrl: '',
};
/**
* 高性能缓存数据库
* @member Config#redis
* @property {String} host - 主机
* @property {int} port - 端口
* @property {String} password - 密码
* @property {String} db - 数据库空间
*/
config.redis = {
client: {
host: process.env.EGG_REDIS_HOST || '127.0.0.1',
port: process.env.EGG_REDIS_PORT || 6379,
password: process.env.EGG_REDIS_PASSWORD || '',
db: process.env.EGG_REDIS_DB || '10',
},
};
/**
* 文档型数据库
* @member Config#mongoose
* @property {String} url - 地址
* @property {Object} optints - 参数
*/
config.mongoose = {
url: 'mongodb://localhost:27017/teller',
options: {
useNewUrlParser: true,
autoIndex: true,
useCreateIndex: true,
},
};
/**
* 安全设置
* @member Config#security
* @property {String} domainWhiteList - 白名单列表
* @property {Object} csrf - 跨站请求伪造
*/
config.security = {
domainWhiteList: [],
csrf: {
enable: false,
},
};
/**
* 性能监控
* @member Config#alinode
* @property {String} appid - 应用编号
* @property {String} secret - 应用密钥
*/
config.alinode = {
appid: '',
secret: '',
};
$ npm run dev
建议使用VSCode,并添加如下扩展
- eggjs,本地调试应用
- ESLint,检测代码质量
- vscode-icons,美化大纲排版