我遇到了一个问题,是在vue 2项目(使用webpack-simple模板)中,基于不同的生产和开发环境结构,无法正确提供express静态数据服务。
开发环境: localhost/app 生产环境: server/some-directory/app 由于“some-directory”会经常变化,因此它会在配置文件中动态设置。下面是我的服务代码(server.js)部分:
开发环境: localhost/app 生产环境: server/some-directory/app 由于“some-directory”会经常变化,因此它会在配置文件中动态设置。下面是我的服务代码(server.js)部分:
if (config.root !== '/') {
app.use(`/${config.root}`, express.static(path.join(__dirname)));
}
app.use('/dist', express.static(path.join(__dirname, 'dist')));
转译后的JS文件存储在/dist文件夹中。
这是作为应用程序入口点的index.html文件:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>App Demo</title>
</head>
<body>
<div id="app"></div>
<script src="/dist/build.js"></script>
</body>
</html>
在开发环境中,应用程序位于根目录,因此它可以正常工作。
但是,在生产环境中,由于应用程序是从服务器子文件夹提供服务的,所以它无法正常工作。
有什么解决方法吗?
谢谢。