Cal*_*ack 8 json heroku node.js gruntjs
我使用grunt创建了一个静态单页网站.我现在正尝试使用heroku-buildpack-nodejs-grunt将它部署到heroku,用于node grunt.
下面是我的根目录的图片:
这是我的Gruntfile package.json:
Procfile
:
web: node index.html
Run Code Online (Sandbox Code Playgroud)
当我运行$ git push heroku master
它到达Gruntfile
并失败:
-----> Found Gruntfile, running grunt heroku:production task
>> Local Npm module "grunt-contrib-uglify" not found. Is it installed?
Run Code Online (Sandbox Code Playgroud)
上述错误继续列出未找到的所有本地NPM模块.如果我列出所有loadNpmTasks而不是使用"load-grunt-tasks",我会得到完全相同的错误.
当$ heroku logs
我得到:
Starting process with command `node web.js`
Error: Cannot find module '/app/web.js'
Run Code Online (Sandbox Code Playgroud)
谁能看到我出错的地方?
我唯一能想到的是,也许 Heroku 安装了你的devDependencies
第一个,尝试运行 Grunt,但由于它还没有安装load-grunt-tasks
,所以你没有得到该grunt.loadNpmTasks( 'grunt-contrib-uglify' );
行(这load-grunt-tasks
对你有用),因此 Grunt 找不到包裹。
您可以尝试更改您的方法Gruntfile
以显式列出所有 npm 模块吗grunt.loadNpmTasks()
?
编辑:
刚刚想起我必须做的另一件事:
heroku labs:enable user-env-compile -a myapp
heroku config:set NODE_ENV=production
Run Code Online (Sandbox Code Playgroud)
(显然替换myapp
为您的 Heroku 应用程序名称。)
这使得 Heroku 允许用户设置环境变量,然后将您的服务器设置为production
. 尝试一下,并将您的dependencies
和设置devDependencies
为您最初的设置(只是为了看看它是否有效)。
归档时间: |
|
查看次数: |
3796 次 |
最近记录: |