Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Heroku部署错误:部署后无法运行节点应用程序:找不到模块'/app/web.js';_Javascript_Node.js_Mongodb_Heroku - Fatal编程技术网

Javascript Heroku部署错误:部署后无法运行节点应用程序:找不到模块'/app/web.js';

Javascript Heroku部署错误:部署后无法运行节点应用程序:找不到模块'/app/web.js';,javascript,node.js,mongodb,heroku,Javascript,Node.js,Mongodb,Heroku,我有一个使用Express和MongoDB(mongoose)的node.js应用程序。它在当地运行得非常好。我将它部署到heroku似乎没有问题,但当我尝试实际启动应用程序时,它崩溃了。heroku日志显示:错误:找不到模块“/app/web.js” 我是新手,所以任何帮助都将不胜感激。谢谢应用程序将帮助我的1型糖尿病女儿 package.json: { "name": "projectglu", "version": "0.0.0", "dependencies": {

我有一个使用Express和MongoDB(mongoose)的node.js应用程序。它在当地运行得非常好。我将它部署到heroku似乎没有问题,但当我尝试实际启动应用程序时,它崩溃了。heroku日志显示:错误:找不到模块“/app/web.js”

我是新手,所以任何帮助都将不胜感激。谢谢应用程序将帮助我的1型糖尿病女儿

package.json:

    {
  "name": "projectglu",
  "version": "0.0.0",
  "dependencies": {
    "express": "~3.4.3",
    "lodash": "~2.4.1",
    "mongoose": "~3.8.8",
    "connect-mongo": "~0.4.0",
    "passport": "~0.2.0",
    "passport-local": "~0.1.6",
    "ejs": "~0.8.4"
  },
  "devDependencies": {
    "grunt": "~0.4.1",
    "grunt-autoprefixer": "~0.4.0",
    "grunt-bower-install": "~0.7.0",
    "grunt-concurrent": "~0.4.1",
    "grunt-contrib-clean": "~0.5.0",
    "grunt-contrib-coffee": "~0.7.0",
    "grunt-contrib-compass": "~0.6.0",
    "grunt-contrib-concat": "~0.3.0",
    "grunt-contrib-copy": "~0.4.1",
    "grunt-contrib-cssmin": "~0.7.0",
    "grunt-contrib-htmlmin": "~0.1.3",
    "grunt-contrib-imagemin": "~0.5.0",
    "grunt-contrib-jshint": "~0.7.1",
    "grunt-contrib-uglify": "~0.2.0",
    "grunt-contrib-watch": "~0.5.2",
    "grunt-google-cdn": "~0.2.0",
    "grunt-newer": "~0.5.4",
    "grunt-ngmin": "~0.0.2",
    "grunt-rev": "~0.1.0",
    "grunt-svgmin": "~0.2.0",
    "grunt-usemin": "~2.0.0",
    "jshint-stylish": "~0.1.3",
    "load-grunt-tasks": "~0.2.0",
    "time-grunt": "~0.2.1",
    "grunt-express-server": "~0.4.5",
    "grunt-open": "~0.2.0",
    "connect-livereload": "~0.3.0",
    "karma-ng-scenario": "~0.1.0",
    "grunt-karma": "~0.6.2",
    "karma-firefox-launcher": "~0.1.3",
    "karma-script-launcher": "~0.1.0",
    "karma-html2js-preprocessor": "~0.1.0",
    "karma-jasmine": "~0.1.5",
    "karma-chrome-launcher": "~0.1.2",
    "requirejs": "~2.1.10",
    "karma-requirejs": "~0.2.1",
    "karma-coffee-preprocessor": "~0.1.2",
    "karma-phantomjs-launcher": "~0.1.1",
    "karma": "~0.10.9",
    "karma-ng-html2js-preprocessor": "~0.1.0",
    "grunt-mocha-test": "~0.8.1",
    "supertest": "~0.8.2",
    "should": "~2.1.0",
    "grunt-env": "~0.4.1",
    "grunt-node-inspector": "~0.1.3",
    "grunt-nodemon": "~0.2.0",
    "open": "~0.0.4"
  },
  "engines": {
    "node": ">=0.10.0"
  },
  "scripts": {
    "test": "grunt test"
  }
}

有各种各样的问题可能导致这种情况

请检查是否已添加“Procfile”。使用Procfile(应用程序根目录中的文本文件)明确声明启动web dyno时应执行的命令。在这种情况下,您只需要使用Node执行节点脚本

下面是一个示例文件:


web:node web.js

另一个罪魁祸首可能是错误配置的环境变量,
NODE\u ENV
。就个人而言,命令Heroku设置
NODE_ENV=production
帮助我解决了我遇到的
找不到模块的错误。执行此操作时,请将
myapp
替换为您的Heroku应用程序名称


heroku实验室:启用用户环境编译-myapp
heroku config:set NODE_ENV=production


如果这无法解决您的问题,请将
devDependencies
中声明的包移到
dependencies
以缓解
NODE\u ENV
问题

更清楚地说,问题可能是当您从Heroku网站示例创建Procfile时,您正在剪切和粘贴“web:node web.js”,它基本上告诉Heroku哪个文件是您的入口点。你可能有一个不同的切入点,比如说。。因此,将“web:node web.js”替换为“web:node server.js”来解决您的问题。

不是需要的信息。试着把你的“app.js”文件从你的问题中的项目根目录中发布出来。或者更好的是,只需在您正在调用/加载/要求“/app/web.js”的位置附近的线路