咕噜声构建后的“heroku运行文件名”

Posted

技术标签:

【中文标题】咕噜声构建后的“heroku运行文件名”【英文标题】:"heroku run fileName" after grunt build 【发布时间】:2014-09-25 15:48:38 【问题描述】:

要了解有关 heroku 调度的更多信息,我阅读了this 帖子并构建了其中描述的应用程序。这篇文章的关键部分是当我能够heroku run numCheck 和code within the numCheck file 执行。在测试 heroku run numCheck 工作后,我能够很好地安排 Heroku 中定期发生的事件。

我使用yo angular-fullstack 创建了我的应用程序Angel Insights,它可以正常工作。但是我想添加 heroku 调度功能,但我被卡住了。我的问题是运行grunt build 后,我无法在Dist 文件夹中运行heroku run refresh。这是我专门尝试过的...

    在 Grunt 构建之前添加了 bin/refresh(刷新下面的代码) 在 grunt build 后将 bin/refresh 直接添加到 Dist 文件夹中 在 git push heroku master 之后尝试 heroku run anyFile 两次尝试

````````

#!/usr/bin/env node
var sendgrid  = require('sendgrid')(
  process.env.SENDGRID_USERNAME,
  process.env.SENDGRID_PASSWORD
);

var num1 = Math.ceil(Math.random() * 100);
var num2 = Math.ceil(Math.random() * 100);
var comparator;

if (num1 > num2) 
    comparator = "greater than";
 else if (num1 < num2) 
    comparator = "less than";
 else 
    comparator = "equal to";


sendgrid.send(
    to: 'andrewscheuermann@gmail.com',
    from: 'scheduler@tester.com',
    subject: 'Num1 v Num2',
    text: (num1 + ' is ' + comparator + " " + num2 + ".")
  , function(err, json) 
    if (err) 
      console.error(err);

我真的被困住了,任何见解都非常感谢!

【问题讨论】:

【参考方案1】:

使用角度生成器,您必须小心它会覆盖dist 目录。每次你 grunt build 时,你都会从一个基本干净的 dist 目录开始。

步骤应该是这样的:

    grunt build cp refresh dist/refresh cd dist &amp;&amp; git commit git push heroku master heroku run refresh

主要缺少的步骤是您必须在复制后将复制的文件提交到dist,否则heroku 将无法获取它。您可以随时通过heroku run lsheroku run bash 来查看您的文件是否存在。

之后,您应该查看您的Gruntfile.js 以确保每次都将refresh 复制到那里,您可能需要查看copy 任务。

【讨论】:

这是正确的,需要稍作调整。需要将刷新文件复制到dist/bin 目录中。然后效果很好。感谢大卫的回答!

以上是关于咕噜声构建后的“heroku运行文件名”的主要内容,如果未能解决你的问题,请参考以下文章

突然咕噜声的构建失败了

带有咕噜声的sass不起作用

导致此错误的原因 - “致命错误:无法找到本地咕噜声”

sh 商店的咕噜声设置

heroku上的咕噜声和凉亭

命令'grunt'不会生成文件夹:dist