2016-11-27 2 views
0

У меня есть два разных файла javascript, которые я использую с моим приложением GAE Python, и каждый из них зависит от общей функциональности, которую я не хочу повторять в двух разных местах.Связанный javascript, который использует «раскрывающий шаблон модуля»

В моей среде разработки, я хотел бы иметь три файла:

  • script1.js
  • script2.js
  • library.js

, где каждый из script1.js и script2.js нужна функциональность в library.js.

Мой Javascript использует «разоблачающий шаблон модуля», например,

var my_module = (function() { 
    var my = {}; 
    my.do_stuff = function() {...}; 
    return my; 
})(); 

Но в производстве, я хочу, чтобы клиенты могли загрузить один статический файл, содержащий всю необходимую JavaScript. Например, клиент может загрузить script1all.js, который будет включать script1.js и library.js.

Как это реализовать в GAE/P? Есть ли существующий инструмент, который это делает?

Я читал о менеджерах пакетов javascript (npm, bower и т. Д.), Но они, похоже, связаны с обработкой стороннего javascript, где мне просто нужно упаковать свой собственный javascript.

ответ

1

Последние 3 часа я читал об этом, и меня несколько смущает сложность и вариации, которые существуют с модулями javascript и связью.

Я нашел такие инструменты, как Browserify и Webpack, но, узнав о них, мне пришлось освежиться о модулях javascript. Это отличный ресурс для понимания javascript module options.

Для моего javascript я использовал «раскрывающий шаблон модуля», обсуждаемый в связанной статье. Для этого стиля модулей javascript кажется, что простой подход concatenate и minify является идеальным решением. Это еще одна статья, излагающая bundling options.

Итак, после нескольких часов обучения я сделаю простой подход к объединению и минимизации, и в конечном итоге я смогу перейти на ES6.

P.S .: Этот answer также очень помог в понимании различных категорий обработки javascript, которые могут потребоваться.

Смежные вопросы