it-swarm.com.ru

Есть ли способ указать angular-cli (для angular 2) на создание минимизированной версии css?

Как видно из заголовка, когда я запускаю "ng serve", angular-cli генерирует нормальный css, тогда как я ожидаю получить уменьшенную версию. Есть ли какие-то особые настройки для angular-cli-build или какой-то дополнительный плагин для установки и использования?

Это мой angular-cli-build.js

var Angular2App = require('angular-cli/lib/broccoli/angular2-app');


module.exports = function(defaults) {
  return new Angular2App(defaults, {
    vendorNpmFiles: [
      'systemjs/dist/system-polyfills.js',
      'systemjs/dist/system.src.js',
      'zone.js/dist/**/*.+(js|js.map)',
      'es6-shim/es6-shim.js',
      'reflect-metadata/**/*.+(ts|js|js.map)',
      'rxjs/**/*.+(js|js.map)',
      '@angular/**/*.+(js|js.map)',
      'angular2-cookie/**/*.js'
    ]
  });
};
20
Donovant

Ты можешь использовать

# --env=<your_env>
# --no-sourcemap
# minify => ./minify.js
ng build --env=prod --no-sourcemap && node minify

minify.js

// npm i --save-dev minifier fs-jetpack

const jetpack = require('fs-jetpack');
const path = require('path');
const minifier = require('minifier');

const files = jetpack.list(path.join(__dirname, 'dist'));

console.log(files);

for (const file of files) {
  if (/.*(\.js|\.css)$/g.test(file)) {
    console.log(`Start ${file}`);
    const filePath = path.join(__dirname, 'dist', file);
    minifier.minify(filePath, {output: filePath});
  }
}

console.log('End');
5
Jeremy Chanteperdrix
ng build --prod --env=prod

или же

ng serve --prod

Будет минимизировать и добавить хеш файла для вас.

  • --prod говорит ему минимизировать хеш и gzip.
  • --env=prod говорит ему использовать ваш файл констант среды prod.

который будет выглядеть так

39
James

Команды Джеймса работают и минимизируют даже для ng serve --prod

Но я увидел следующее в Chrome для совершенно нового проекта ng new, и файл js наверняка не был уменьшен:

 enter image description here

Посмотрев внимательнее, я увидел js:formatted, указывающий на то, что функция красивой печати была включена.

Открытие URL http://localhost:4200/main.5082a3da36a8d45dfa42.js непосредственно в новой вкладке показало мне, что CLI действительно его минимизировал.

Вы можете щелкнуть значок {}, чтобы отключить эту функцию, но, похоже, она исчезнет после того, как код будет напечатан, поэтому вам может потребоваться перезагрузить страницу и попытаться быстро щелкнуть по ней.

 enter code here

0
Simon_Weaver