Как использовать минимизированный JavaScript?

У меня есть основные задачи по объединению и минимизации всех моих файлов javascript в один файл, а файл javascript находится в папке dist. "dist /<% = pkg.name%>. min.js '"

"Gruntfile.js"

module.exports = function (grunt) {
    grunt.initConfig({
        pkg: grunt.file.readJSON("package.json"),
        concat: {
            options: {
                separator: ';'
            },
            dist: {
                src: ['src/main/resources/app/js/**/*.js',
                    'src/main/resources/app/config/*.js',
                    'src/main/resources/app/app/js'],
                dest: 'dist/<%= pkg.name %>.js'
            }
        },
        uglify: {
            options: {
                banner: '/*! <%= pkg.name %> <%= grunt.template.today("dd-mm-yyyy") %> */\n'
            },
            dist: {
                files: {
                    'src/main/resources/app/dist/<%= pkg.name %>.min.js': ['<%= concat.dist.dest %>']
                }
            }
        }
    });
    grunt.loadNpmTasks('grunt-contrib-concat');
    grunt.loadNpmTasks('grunt-contrib-uglify');
    grunt.registerTask("default", ["concat", "uglify"]);
};

Теперь, как я могу использовать эту уменьшенную версию javscript? Более того, моя точка входа index.html в моем коде указывает на неуменьшенную версию.

"Index.html"

<div ui-view/>
<script data-main="config/require-conf" src="vendor/requirejs/require.js"></script>

2 ответа

Вы можете использовать usemin с https://www.npmjs.com/package/grunt-usemin. Usemin, с другими задачами, как

  • CONCAT
  • уродовать
  • cssmin
  • filerev

способен минимизировать все JS и CSS в одном файле. Вам нужно только добавить сборку:js, как вы можете видеть ниже во фрагменте:

<!-- build:js SCLogic.min.js -->
        <!-- Load app main script -->
        <script src="app/app.js"></script>
        <!-- Load services -->
        <script src="app/services/authInterceptorService.js"></script>
        <script src="app/services/authService.js"></script>
        <script src="app/services/blablaService.js"></script>
       

        <!-- Load controllers -->
        <script src="app/controllers/indexController.js"></script>
        <script src="app/controllers/homeController.js"></script>
        <script src="app/controllers/loginController.js"></script>
        <script src="app/controllers/blablaController.js"></script>
        
        <script src="app/directives/validNumber.js"></script>
       
        <script src="app/controllers/angular-locale_es-es.js"></script>
       
        <!-- endbuild -->

Вы можете просто включить файл JS обычным способом.

<script src="path to the minified file"></script>

в вашем index.html. Сокращенный файл похож на обычный файл JS. Что это делает:

  1. Он объединит все упомянутые файлы JS в один файл.
  2. Затем он минимизирует его, т. Е. Удалит пробелы и автоматически изменит имена переменных.
  3. Преимущество этого заключается в том, что у вас будет файл меньшего размера и один http-запрос из вашего браузера, который поможет вам загружать страницу быстрее.
Другие вопросы по тегам