【问题标题】:Loading partials fails on the server JS在服务器 JS 上加载部分失败
【发布时间】:2017-04-04 23:37:15
【问题描述】:

我正在尝试使用 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');
});

我已经搜索了很多页面,但找不到解决方案。感谢您的帮助。

【问题讨论】:

  • 你能发布确切的错误信息吗?

标签: javascript angularjs node.js mongodb express


【解决方案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 的示例:

其他相关答案:

【讨论】:

  • 非常感谢您的帮助。你的项目帮了我很多:)
猜你喜欢
  • 1970-01-01
  • 2017-05-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-11
相关资源
最近更新 更多