expressjs空白根页面

expressjs空白根页面,express,vue.js,Express,Vue.js,我有一个简单的vue js应用程序和下一个express js配置文件 var express = require('express'); var http = require('http'); var app = express(); var server = http.createServer(app); app.use(express.static('.')); server.listen(1111); 生成结果位于/dist文件夹中。但是,我的express js文件位于/ 运行它后

我有一个简单的vue js应用程序和下一个express js配置文件

var express = require('express');
var http = require('http');

var app = express();
var server = http.createServer(app);
app.use(express.static('.'));
server.listen(1111);
生成结果位于/dist文件夹中。但是,我的express js文件位于/

运行它后,我在localhost:1111上看到空白页,实际上它从/检索index.html,但是,我在localhost:1111/dist上看到我的应用程序,它从/dist检索index.html

我的目的是在访问localhost:1111时从/dist接收index.html

我尝试将express配置更改为app.use(express.static('./dist')),类似于此。但它只会破坏任何东西(我无法在localhost:1111/distlocalhost:1111/上访问我的应用程序)

一般来说,我有下一个项目结构

/->express js config在这里,basic index.html在这里

/dist->构建结果位于此处(index.html+静态文件)

/dist/static->这里有静态文件


/build->webpack config在这里

为什么
应用程序使用(express.static('dist'))的问题
不起作用的原因是,在index.html中,我链接到了其他文件,如
/dist/static/。
如果我的根文件夹是dist,则不正确。因此,尽管主持人设置webpack与此无关,但解决方案是更改用于生产的webpack配置,使生成脚本在/dist/index.html中生成指向文件的链接,类似于/static/。而不是/dist/static/。

显然,我必须改变

app.use(express.static('.'));


作为结论-检查生成的index.html并分析路径是否正确是有意义的。

有时,此问题可能是因为应用程序无法从根文件夹服务器。 例如,/home/user/path to the project“应用程序需要这样服务

所以这里你需要像下面这样改变

app.use(express.static(uu dirname+'/dist'));

有关更多信息,请查看express doc

app.use(express.static('dist'));