Как использовать минимизированный 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. Что это делает:
- Он объединит все упомянутые файлы JS в один файл.
- Затем он минимизирует его, т. Е. Удалит пробелы и автоматически изменит имена переменных.
- Преимущество этого заключается в том, что у вас будет файл меньшего размера и один http-запрос из вашего браузера, который поможет вам загружать страницу быстрее.