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

У меня есть grunt задачи для concat и минимизации всех моих файлов 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>

Ответ 1

Вы можете использовать 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 -->

Ответ 2

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

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

в вашем index.html. Мини файл похож на обычный JS файл. Что он делает:

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