ant-design-pro项目npm run build之后浏览器打开报错

用ant-design-pro简单写了个项目,用的还是自带的mock API,自己在根目录下写了个server.js运行npm run build打包后的文件,dist目录如下:
图片描述

server.js大致内容:

app.use(express.static(path.join(__dirname, 'dist')));
app.use("/", function(req, res){
  res.redirect('/index.html');
});

const port = process.env.PORT || 9008;
const server = http.createServer(app);

server.listen(port, function () {
  console.log('ENS is listening on port : ' + port);
});

启动server.js打开浏览器显示有302错误,控制台报Cannot read property 'notifyCount' of undefined如下:
图片描述

图片描述

user部分没有改动,服务端传来的数据在控制台能正常输出,我搞不懂是哪里出了问题,npm start在浏览器可以正常显示,npm run build之后在浏览器127.0.0.1:9008打开报错,请问各位大神这该怎么解决?

阅读 8.1k
2 个回答
npm run build之后用自己写的server.js打不开

这是什么意思,从代码上看server.js是运行在服务端的一个静态资源服务,那么为什么要打包到dist,又不能在浏览器端运行,是我理解错问题了吗。

打包出来的项目需要web容器的支持,也就是需要跑到web容器中,比如nginx中。。。
mock数据打包出来无效。也就是build的时候,不会将mock数据打包进去。你必须将server.js中的地址指向一个服务地址,一般采用代理的方式。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题