2016-06-06 6 views
1

В настоящее время я разрабатываю расширение Chrome и планирую его опубликовать на рынке Chrome. Однако я знаю преимущества сообщества с открытым исходным кодом, но не хочу делиться исходным кодом и немного беспокоиться об авторских правах. В настоящее время план состоит в том, чтобы минимизировать и обфускать исходный код перед публикацией. Так что вопросы:Принимает ли рынок Chrome расширения с миниатюрным и/или запутанным исходным кодом?

Принимает ли рынок Chrome расширения с миниатюрным и/или запутанным исходным кодом?

Заранее благодарен! :)

ответ

3

Похоже, что они не одобряют сокращенный и запутываемый код. Вы можете проверить поток в Chromium Google Group с апреля '16.

https://groups.google.com/a/chromium.org/forum/#!topic/chromium-extensions/1Jsoo9BPWuM

Нет, вы не можите. Это электронная почта, полученная от Google Chrome: все файлы и код в файле включены в пакет этого товара.

  • Весь код внутри упаковки является человекообразным (не обфусканный или минифицированный код).
  • Избегайте запрашивать или выполнять удаленно размещенный код (в том числе путем ссылки на удаленные файлы javascript или выполнения кода, полученного по запросам XHR).

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

+1

Ответ Ивана правильный. Это не так: я только что проверил исходный код LBTimer и действительно был проиндексирован. – zzzzzzz

+0

указанные термины обозначают: 'Все коды внутри пакета являются человекообразными (без обфускации или сокращенного кода) .' они оставляют за собой право сделать исключений, но этого не ожидается. – brianyang

2

Да, вы можете использовать инструменты обфускации (например, jscrambler) перед публикацией вашего расширения. Я не знаю, может ли это задержать время публикации, но я точно знаю, что это некоторые опубликованные расширения Chrome с запущенным/уменьшенным исходным кодом.

Прежде чем опубликовать его, я, например, уменьшу код моего расширения (LBTimer) с помощью Closure.

+0

Как вы решили проблему переименования Closure в функциях обмена сообщениями chrome.runtime? Я пробовал его с помощью Closure, и он нарушил все функции обмена сообщениями. – Tom

+0

@Tom Используйте «простую» оптимизацию вместо «продвинутого». Таким образом, он не будет переименовывать глобальные переменные, такие как 'chrome.' API. –

+0

да Я использую простое оптимизирование - есть что-то еще не так, и я изо всех сил пытаюсь его найти. Весь мой код - ES6, поэтому Closure транслируется в ES5, когда я использую API, что немного усложняет отслеживание. На данный момент мой главный подозреваемый - функция sendResponse, которая работает как обещание, но не похожа на одно. – Tom