nodejs项目,webpack打包,用axios请求,Promise封装,nunjucks模板引擎;
之前已将nunjucks模板通过webpack打包策略,做成前后端共用;
目前需要将网络请求以及数据处理封装成service模块;
目录划分:
如上图所示:
将公共代码放到service中,整合两端共同的一些网络请求以及数据处理(node首屏,客户端再次请求数据更新等操作)
这里碰到的两个问题:
1. node模块使用module.exports,而webpack我们使用的是import/export,两者共用会报错;
2.我们使用了Promise做了两层封装(service封装、service中的fetch封装:抹平node和客户端的环境差异)
第一个问题,其实webpack也提供了module.exports的方法,所以两端的模块是可以共用的。
而第二个问题,我们使用了Promise,也在webpack全局引入了babel-polyfill,但是会报错:
Uncaught TypeError: Cannot assign to read only property 'exports' of object '#<Object>'