Лучший компрессор JavaScript [закрывается]

эта ошибка происходит со мной, потому что я сделал следующее

  1. Я изменил имя столбца таблицы в базе данных
  2. (я не использовал Update Model from database в Edmx) I Переименовано вручную. Имя свойства, соответствующее изменению схемы базы данных.
  3. . Я сделал несколько рефакторингов, чтобы изменить имя свойства в классе так же, как схема базы данных и модели в Edmx

Хотя все это, я получил эту ошибку

, поэтому what to do

  1. I Удалена модель из Edmx
  2. Щелкните правой кнопкой мыши и Update Model from database

это приведет к восстановлению модели, а структура сущности will не give you this error

надеюсь, что эта помощь вам

170
задан Peter Mortensen 31 January 2011 в 09:14
поделиться

13 ответов

Недавно я выпустил UglifyJS , компрессор JavaScript, написанный на JavaScript (работает на платформе NodeJS Node.js , но его можно легко модифицирован для работы на любом движке JavaScript, поскольку ему не нужны внутренние компоненты Node.js ). Он намного быстрее, чем YUI Compressor и Google Closure , он сжимает лучше, чем YUI , во всех скриптах, на которых я его тестировал, и он безопаснее, чем Closure (знает иметь дело с "eval" или "с").

Помимо удаления пробелов, UglifyJS также делает следующее:

  • изменяет имена локальных переменных (обычно на отдельные символы)
  • объединяет последовательные объявления var
  • избегает вставки любых ненужных скобок, скобок и точек с запятой
  • оптимизирует IF (удаляет "else", когда обнаруживает, что он не нужен, преобразует IF в операторы &&, || или? /:, Когда это возможно, и т. Д.).
  • преобразует foo ["bar"] в foo.bar где возможно
  • удаляет кавычки из ключей в объектных литералах, где возможно
  • разрешает простые выражения, когда это приводит на меньший код (1 + 3 * 4 ==> 13)

PS: О, это тоже может «украсить». ; -)

149
ответ дан 23 November 2019 в 20:47
поделиться

Пересматривание этого вопроса несколько лет спустя, UglifyJS, кажется, наилучший вариант на данный момент.

, Как указано ниже, это работает на платформе NodeJS, но может быть легко изменено для работы любого механизма JavaScript.

---Старый ответ ниже---

Google выпустил Компилятор Закрытия , который, кажется, генерирует самые маленькие файлы, насколько замечено здесь и здесь

До этого, различные варианты были следующим образом

В основном , Packer делает лучшее задание при начальном сжатии, но если Вы идете в gzip файлы прежде, чем отправить на проводе (который необходимо делать) , Компрессор YUI получает самый маленький заключительный размер.

тесты были сделаны на btw кода jQuery.

  • Исходная библиотека jQuery 62 885 байтов, 19 758 байтов после того, как gzip
  • jQuery уменьшил с 36 391 байтом JSMin, 11 541 байтом после gzip
  • jQuery, уменьшенного с Packer 21 557 байтов, 11 119 байтов после gzip
  • jQuery, уменьшенного с Компрессором YUI 31 822 байта, 10 818 байтов после gzip

упоминания daniel james в комментарии compressorrater , который показывает Packer, ведущему диаграмму в лучшем сжатии, таким образом, я предполагаю ymmv

124
ответ дан Community 23 November 2019 в 20:47
поделиться

Компрессор YUI является способом пойти. Это имеет большой уровень сжатия, хорошо тестируется и используется многими главными сайтами, и, ну, в общем, лично рекомендуемый мной.

я использовал его для своих проектов без единственной ошибки JavaScript или отклонения. И это имеет хорошую документацию.

<забастовка> я никогда не использовал ее возможности сжатия CSS, но они существуют также. сжатие CSS работает точно также.

Примечание: Хотя Dean Edwards / упаковщик / достигает лучшего уровня сжатия, чем Компрессор YUI, я столкнулся с несколькими ошибками JavaScript при использовании его.

43
ответ дан Sophie Alpert 23 November 2019 в 20:47
поделиться

Я использую ShrinkSafe из проекта Dojo - это исключительно, потому что это на самом деле использует интерпретатор JavaScript ( Носорог ) для контакта с нахождением символов в коде и понимании их объема, и т.д. который помогает гарантировать, что код будет работать, когда это выйдет другой конец, в противоположность большому количеству инструментов сжатия, которые используют regex, чтобы сделать то же (который не так надежен).

у меня на самом деле есть задача MSBuild в веб-Проект Развертывания в моем текущем решении для Visual Studio, которое выполняет сценарий, который в свою очередь выполняет все файлы решения JS через ShrinkSafe, прежде чем мы развернемся, и это работает вполне хорошо.

РЕДАКТИРОВАНИЕ: Между прочим, "лучше всего" открыто для дебатов, так как критерии "лучшего" будут варьироваться в зависимости от потребностей проекта. Лично, я думаю, что ShrinkSafe является хорошим балансом; для некоторых людей, которые думают самый маленький размер == лучше всего, это будет недостаточно.

РЕДАКТИРОВАНИЕ: стоит отметить, что компрессор YUI также использует Носорога

8
ответ дан Jason Bunting 23 November 2019 в 20:47
поделиться

Попробуйте JSMin, получил C#, Java, C и другие порты и легко доступный также.

5
ответ дан chakrit 23 November 2019 в 20:47
поделиться

При использовании Packer просто пойдите далеко 'опция' переменных уменьшения и gzip получающийся код. base62 опция только для того, если Ваш сервер не может отправить gzipped файлы. Packer с 'уменьшением Вар' достигает лучшего сжатия YUI, но может представить ошибки при пропуске точки с запятой где-нибудь.

base62 является в основном gzip бедного человека, который является, почему gzipping код base62-редактора дает Вам большие файлы, чем gzipping код редактора var уменьшения.

4
ответ дан jcoglan 23 November 2019 в 20:47
поделиться

JSMin - другой.

3
ответ дан Mark Biek 23 November 2019 в 20:47
поделиться

Здесь сценарий компрессора YUI ( Byuic), который находит весь js и css вниз путем и сжимается / (дополнительно) запутывает их. Хороший для интеграции в процесс сборки.

1
ответ дан jimg 23 November 2019 в 20:47
поделиться

Вот исходный код HttpHandler, который делает это, возможно, он поможет Вам

1
ответ дан juan 23 November 2019 в 20:47
поделиться

bananascript.com раньше давал мне, лучше всего заканчивается.

1
ответ дан Paweł Hajdan 23 November 2019 в 20:47
поделиться

KJScompress

http://opensource.seznam.cz/KJScompress/index.html

Kjscompress / csskompress состоит из двух приложения (kjscompress a csscompress), чтобы удалить незначительные пробелы и комментарии из файлов содержащий JavaScript и CSS. Обе приложения командной строки для Операционная система GNU / Linux.

1
ответ дан 23 November 2019 в 20:47
поделиться

В поисках серебряной пули, нашел этот вопрос. Для Ruby on Rails http://github.com/sstephenson/sprockets

2
ответ дан 23 November 2019 в 20:47
поделиться

Js Crush - хороший компрессор для использования после минификации.

1
ответ дан 23 November 2019 в 20:47
поделиться
Другие вопросы по тегам:

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