【问题标题】:Javascript syntax error on rails/browserify applicationrails/browserify 应用程序上的 Javascript 语法错误
【发布时间】:2017-09-05 20:42:29
【问题描述】:

我一直在尝试通过 Heroku、Nginx 和 Apache 部署我的 rails/browserify 应用程序,但我一直遇到同样的错误。当资产通过bundle exec rake assets:precompile db:migrate RAILS_ENV=production 预编译时,我的一个 JS 类会产生语法错误。我在这里发现了一个类似的问题:ES6 Classes: Unexpected token in script? 但我在构造函数或方法之外没有任何变量声明。

错误:

rake aborted!
ExecJS::RuntimeError: SyntaxError: Unexpected token: name (Game)
JS_Parse_Error.get ((execjs):3538:621)
(execjs):4060:47
(execjs):1:102
Object.<anonymous> ((execjs):1:120)
Module._compile (module.js:571:32)
Object.Module._extensions..js (module.js:580:10)
Module.load (module.js:488:32)
tryModuleLoad (module.js:447:12)
Function.Module._load (module.js:439:3)
Module.runMain (module.js:605:10)

产生语法错误的 Javascript 类:

class Game {

  constructor(attributes) {
      this.id = attributes.id;
      this.characters = attributes.characters;
      this.quotes = attributes.game_quotes;
      this.state = attributes.state;
      this.completed = attributes.completed;
  }

  score() {
      if (this.completed == true) {
          var score = 0;
          for (var i = 0; i < this.state.length; i++) {
              if (this.state[i] == true) {
                  score++;
              }
          }
          return score;
      } else {
          return "Game Incomplete";
      }
  }

  percentageScore() {
      if (this.score() >= 0) {
          return (this.score() * 10 + "%");
      } else {
          return "Game Incomplete";
      }
  }

  }

语法错误在哪里?

如果您需要一些上下文,这里是指向我的应用程序存储库的链接:Repository

社区的任何帮助将不胜感激。如果您能提供任何建议,请提前感谢。

【问题讨论】:

    标签: javascript ruby-on-rails nginx heroku browserify


    【解决方案1】:

    通过注释掉config/environments/production.rb 中的以下行,错误就消失了

    config.assets.js_compressor = ...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-08-08
      • 2018-08-26
      • 1970-01-01
      • 2016-03-15
      • 2015-10-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多