Я нахожу менее похожим на комбинатор / компилятор для JavaScript

Есть ли какой-либо метод или решение для компиляции и комбинации JavaScript, как с lessc? Мне нужна команда cli для объединения javascripts в один файл. Может быть, есть какое-нибудь приложение для nodejs? Ранее я использовал CodeKit на Mac, и это могло сжимать и объединять каждый файл в один с именованными именами файлов, например:

// @codekit-prepend "blahblah.js"

Я нашел для него Uglify2, но не уверен, что это лучшее решение для моей проблемы.

Мне нужно что-то вроде этого:

jscompilecommand filename.js > combined.min.js

или же

jscompilecommand filename1.js, filename2.js, filename3.js > combined.min.js

1 ответ

Решение

конкатенация

Существует плагин Grunt https://github.com/gruntjs/grunt-contrib-concat. Это дает возможность объединять любые файлы, включая JavaScript.

// Project configuration.
grunt.initConfig({
  concat: {
    dist: {
      src: ['src/intro.js', 'src/project.js', 'src/outro.js'],
      dest: 'dist/built.js',
    },
  },
});

Он также может быть использован для добавления баннеров (заметки о лицензии, версии и т. Д.) В источниках.

сращивание

Чтобы объединить файлы JavaScript в определенных позициях, вы можете использовать http://bem.info/articles/borschik/. Это дает возможность использовать различные аннотации в разных ситуациях. Например, чтобы включить файл в другом комментарии, например:

var prj = {};

/* borschik:include:components/cookie.js */

function foo() {}

Он также доступен как плагин Grunt.

Модульные системы

Во многих случаях лучше использовать модульные системы вместо простых файлов. Есть множество преимуществ по сравнению с инструментами для создания оптимизированных пакетов из множества исходных файлов. Например, вы можете использовать http://requirejs.org/docs/optimization.html для модулей в стиле AMD или http://browserify.org/ для модулей CommonJS.

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