一尘不染

在服务器JS上加载部分文件失败

angularjs

我正在尝试使用MEAN堆栈创建一个简单的单页应用程序。到目前为止,我在本地主机上工作,并且一切正常。

可悲的是,将代码上传到服务器后,每当我的应用程序尝试从部分文件夹(HTML模板)下载任何内容时,我都会收到状态码500(内部服务器错误)。

这不是CORS问题(相同的域),但只是要确保我也安装了CORS插件。

路线示例:

    $routeProvider.when('/admin/login', {
        templateUrl: 'partials/admin/login.html',
        controller: 'AdminLoginCtrl'
    });

我也有路径设置:

router.get('*', function(request, response) {
    response.sendfile('./public/index.html');
});

我搜索了许多页面,但找不到解决方案。感谢您的任何帮助。


阅读 279

收藏
2020-07-04

共1个答案

一尘不染

您知道您要为每个请求发送index.html吗?

更改此:

router.get('*', function(request, response) {
    response.sendfile('./public/index.html');
});

对此:

app.use(express.static(path.join(__dirname, 'public')));

或这个:

app.use('/path', express.static(path.join(__dirname, 'public')));

如果您要在以外的其他路径下提供静态文件/

确保将其添加到文件的开头:

var path = require('path');

另外,请确保您确实将public目录放置在正确的位置,并且该目录包括index.html和其他必需文件。

当然,您可能还会遇到其他问题,因为您显然没有包括整个代码。

如果要使用Express提供静态文件,请参阅我在GitHub上的示例:

您可以下载该示例,将自己的静态内容放在正确的目录中,然后根据自己的需要进行自定义。

有和没有Express的情况下,更多示例可以执行相同操作:

2020-07-04