62
задан 24 May 2015 в 13:24

8 ответов

Поскольку след не предоставляет информацию о поврежденном файле для меня лучший способ определить, что ошибка является использованием , мерзавец делит пополам.

Это позволяет Вам находить фиксацию, которая представляет ошибку.

Позволяют нам предположить, что Вы находитесь на ведущем устройстве, сначала Вы запускаете, мерзавец разделите пополам:

$ git bisect start
$ git bisect bad 

Затем Вы возвращаетесь к предыдущему, рабочему пересмотру, давайте предположим 20 пересмотров назад.

$ git checkout HEAD~20

Вы выполняете ту же команду

$ RAILS_ENV=production rake assets:precompile

, Если она работает, Вы отмечаете пересмотр как хороший:

$ git bisect good.

мерзавец перейдет к другому пересмотру, Вы выполняете ту же команду снова (assets:precompile), и базирующийся на выводе отмечают его как хороший / плохо.

меньше чем через 1 минуту необходимо смочь найти то, что является фиксацией, которая представила проблему.

0
ответ дан 31 October 2019 в 13:01

Если ответ Radovan не работает на Вас из-за проблемы в библиотеке вместо Вашего кода, можно попытаться обновить Uglifier и включить компиляцию ES6.

Gemfile.lock

gem 'uglifier', '~> 4.1'

config/environments/production.rb

config.assets.js_compressor = Uglifier.new(harmony: true)
2
ответ дан 31 October 2019 в 13:01

Я подозреваю в этом js файл, у Вас есть что-то как следующее:

var User = {
    getName() {
        alert("my name");
    }
}

Замена его с правильным форматом,

var User = {
    getName: function() {
        alert("my name");
    }
}

работала на меня.

Ошибка ясно говорит, она ожидает ":" но это нашло" (".

32
ответ дан 31 October 2019 в 13:01

Я не уверен в Вашей цепочке сборки, но я добрался здесь путем вставки того же сообщения об ошибке в Google.

, Который называют 'краткими свойствами' в ES2015. Я использую Babel 6 с Большим глотком и должен был сделать npm install babel-plugin-transform-es2015-shorthand-properties --save-dev и добавить, что преобразовывают к моим плагинам столпотворения.

.pipe(babel({
    plugins: [
        'transform-es2015-shorthand-properties'
    ]
}))

https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-es2015-shorthand-properties

6
ответ дан 31 October 2019 в 13:01

Я мог использовать https://skalman.github.io/UglifyJS-online / для идентификации корректного номера строки, где проблема была. К счастью по крайней мере, на корректный файл, который имел проблему, указал пехотинец, уродуют

5
ответ дан 31 October 2019 в 13:01

Здесь я нашел справку для той же проблемы, которую Вы имели.

консоль направляющих Выполнения и:

JS_PATH = "app/assets/javascripts/**/*.js"; 
Dir[JS_PATH].each do |file_name|
  puts "\n#{file_name}"
  puts Uglifier.compile(File.read(file_name), harmony: true)
end

Это покажет Вам файл и строку, где Uglifier делает проблему.

235
ответ дан 31 October 2019 в 13:01

В моей проблеме случая с функциональным определением как

function someFunctionName(param1, param2=defaultValue){
  //code 
}

из-за вышеупомянутого функционального определения я получал ошибку, поскольку это не поддерживается Uglifier. Параметры по умолчанию являются спецификацией языка ES6/ES2015.

Для решения вышеупомянутой проблемы можно относиться Набор значение параметра по умолчанию для функции JavaScript

3
ответ дан 31 October 2019 в 13:01

Просто встретьтесь с той же проблемой.

Мой случай - кто-то используемый синтаксис, это - только поддержка начиная с ES2015, исключая

function someThing(param = true) {
    // do something here
};

, в то время как это не поддерживается в нашей среде.

И сообщения об ошибках на самом деле сгенерирован Uglifer.

7
ответ дан 31 October 2019 в 13:01

Другие вопросы по тегам:

Похожие вопросы: