创建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,美化大纲排版