记node前后端代码共用的一次坑

nodejs项目,webpack打包,用axios请求,Promise封装,nunjucks模板引擎;

之前已将nunjucks模板通过webpack打包策略,做成前后端共用;

目前需要将网络请求以及数据处理封装成service模块;

目录划分:

记node前后端代码共用的一次坑

如上图所示:

将公共代码放到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>'

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wppspf.html