" heroku运行fileName"在grunt构建之后

时间:2014-08-02 16:37:02

标签: javascript node.js angularjs heroku yeoman

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

我使用yo angular-fullstack创建了我的应用Angel Insights,并且功能正常。但是我想添加heroku调度功能,但我遇到了问题。我的问题是,在我运行heroku run refresh后,我无法在Dist文件夹中运行grunt build。这是我特别试过的......

  1. 在Grunt构建之前添加了bin / refresh(下面的刷新代码)
  2. 在grunt build
  3. 之后将bin / refresh直接添加到Dist文件夹中
  4. 尝试使用两次尝试git push heroku master后,heroku运行anyFile
  5. ````````

    #!/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 个答案:

答案 0 :(得分:3)

使用角度生成器时,必须小心它覆盖dist目录。每当你grunt build,你就会开始使用一个大部分干净的dist目录。

步骤应该是:

  1. grunt build
  2. cp refresh dist/refresh
  3. cd dist && git commit
  4. git push heroku master
  5. heroku run refresh
  6. 主要的缺失步骤是你必须在复制后将复制的文件提交到dist,否则heroku将无法获得它。您随时可以heroku run lsheroku run bash查看您的文件是否存在。

    在此之后,您应该查看Gruntfile.js以确保每次都复制refresh,您可能希望查看copy任务。