当前位置: 首页 > 面试题库 >

Heroku找不到模块

岳涵煦
2023-03-14
问题内容

我尝试在Localy节点中要求一些JS文件-效果很好,但在Heroku中却遇到此错误-

错误:找不到模块“ ./routes.js”

我的代码看起来像:

'use strict';

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

app.set('port', (process.env.PORT || 5000));
app.use(express.static(__dirname + '/public'));

// Application Header
app.use(function(request, response, next) {
    response.header('Access-Control-Allow-Origin', '*');
    response.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS');
    response.header('Access-Control-Allow-Headers', 'Content-Type, Authorization, Content-Length, X-Requested-With, X-PINGOTHER');

  next();
});

// views is directory for all template files
app.set('views', __dirname + '/views');
app.set('view engine', 'ejs');

  console.log('./routes.js');
require('./routes.js')(app);

app.listen(app.get('port'), function() {
  console.log('Node app is running on port', app.get('port'));
});

我究竟做错了什么?谢谢!


问题答案:

您可以尝试运行dyno的一次性副本,以使其列出目录内容–这将使您检查文件是否在期望的位置。(Heroku上有更多这方面的信息在这里。)例如:

heroku run 'ls -al'

这将使Heroku创建(非常简短)您的应用程序的其他副本,并使它列出服务器上您应用程序目录中的文件。您可能会发现您的routes.js文件不在您期望的位置。(也许它没有签入git吗?)

如果您想进一步查看,请运行:

heroku run bash

您将拥有一个交互式bash shell到您的应用程序副本。从那里您可以浏览文件系统,尝试在服务器上手动运行您的应用程序,等等。



 类似资料:
  • 问题内容: 我的Node应用程序在本地运行良好,但是在部署到Heroku时遇到错误。该应用程序使用Sequelize在一个文件夹,其中包含,和。在本地,我可以使用中的以下代码导入模型: 这很好,但是,当我部署到Heroku时,应用程序崩溃并显示以下错误: 最初我以为是由于区分大小写(本地mac与heroku linux),但是我移动了文件,进行了git commit,然后又移回并再次提交,以确保在

  • 我有一个聊天机器人使用节点Js。它使用“googleapis”。当我从笔记本电脑创建服务器时,它工作正常。但我将文件上传到github,并使用heroku作为服务器。我在heroku提供的网址上找到了“应用程序错误”来访问该应用程序。如何修复它。 警告:请参阅https://github.com/lorenwest/node-config/wiki/Strict-Mode2019-11-20T07

  • 我试图将我的rasa机器人部署到heroku,我正在使用python。 我的要求。txt文件如下所示: 空间==2.0。18 https://github.com/explosion/spacy-models/releases/download/en_core_web_md-2.0.0/en_core_web_md-2.0.0.tar.gz#egg=en_core_web_md==2.0.0 部署

  • 我开发了一个应用程序,并将其部署在Heroku上。后端进程应每小时运行一次,并在Firebase数据库中推送一些数据。为此,我遵循Firebase Admin SDK指南来授予对服务器的访问权限。(https://firebase.google.com/docs/database/admin/start) 本地一切正常,但当我打开Heroku上的应用程序,我得到了"应用程序错误"。 查看应用程序日

  • 我正在尝试使用GitHub将Gradle Java应用程序部署到Heroku。回购协议的名称是“v-m-test”。这是我目前使用的Procfile:web:java-jar-target/v-m-test。罐子这是错误的文件吗?

  • 以下命令在本地有效: 然后我可以在http://localhost:5000/上看到我的Grails应用程序 部署的第一部分显示它执行我的阶段任务。但后来,它又抱怨找不到阶段任务。 这是我的procfile的内容: 对我做错了什么有什么想法吗?