前言
生活并无完美,与其让生活带来更多的沮丧与抱怨,不如坚持着一份信念,相信通过努力可以让生活变得更好。
一、问题描述
在开发前后端分离的项目中,前端页面使用HBuilderX进行开发,遇到了一种匪夷所思的情况,前一天前端项目运行还正常,到了第二天再使用HBuilderX运行前端项目时就会报404的错误,不仅是昨天的项目,之前写好的项目运行也是404错误,但是不在HBuilderX中就可以正常打开。因此断定是HBuliderX软件本身的问题,重启电脑、重新打开HBuilderX、重新导入项目等方法都没有解决。
二、解决方案
打开HBuilderX的存放位置,找到plugins文件夹—>找到nodeserver文件夹—>修改server.js文件
将server.js文件修改为以下内容:
var args = process.argv.splice(2)[0]; var express = require('express'); var app = express(); var argsjson =JSON.parse(args); var projects = argsjson.projects; var port = argsjson.port; projects.forEach(function (value,index,array) { app.use('/'+encodeURI(value.name),express.static(value.path+'')); }); app.get('*', function(req, res){ res.sendFile( __dirname + "/" + "404.html" ); }); var server = app.listen(port, function () { console.log('server start at '+port); })
总结
当将上面的代码替换了server.js文件中的代码后重新启动HBuilderX时前端项目就可以正常运行了,但是具体是什么原因也不清楚,源文件也不敢完全覆盖,最后是将原本的server.js重命名,新建了一个server.js文件,将代码复制进去。在此做下记录,如果以后再出现这种情况,能以最快的速度解决这样的问题。