grunt代码混淆

xiaoxiao2021-02-28  54

1.grunt是基于nodejs的,所以要先安装nodejs。

2. 安装nodejs

Grunt和所有grunt插件都是基于nodejs来运行的,如果你的电脑上没有nodejs,就去安装吧。安装nodejs非常简单,完全傻瓜式、下一步下一步下一步、的安装方式,这里不再赘述。去 https://nodejs.org/ 上,点击页面中那个绿色、大大的“install”按钮即可。

安装了nodejs之后,可以在你的控制台中输入“node -v”来查看nodejs的版本,也顺便试验nodejs是否安装成功。

注意两点。第一,grunt依赖于nodejs的v0.8.0及以上版本;第二,奇数版本号的版本被认为是不稳定的开发版,不过从官网上下载下来的应该都是偶数的稳定版。

3. 安装grunt-CLI

注意,如果你的电脑不联网,以下操作你都做不了,所以,首先保证电脑联网。

“CLI”被翻译为“命令行”。要想使用grunt,首先必须将grunt-cli安装到全局环境中,使用nodejs的“npm install…”进行安装。如果你不了解nodejs的npm如何安装软件,这里就先不要问了,先照着我说的做。

打开控制台(注意:windows系统下请使用管理员权限打开),输入:

注意,mac os 系统、部分linux系统中,在这句话的前面加上“sudo ”指令

回车,命令行会出现一个转动的小横线,表示正在联网加载。加载的时间看你网速的快慢,不过这个软件比较小,一般加载时间不会很长,稍一会儿,就加载完了。你会看到以下界面。

这时候要验证一下grunt-cli是否安装完成并生效,你只需要继续在命令行中输入“grunt”命令即可。如果生效,则会出现以下结果:

你不要管这些结果是什么意思,总之出现这些提示,证明你的grunt-cli安装成功了。

3.建立文件结构如下

dist:是用来存放被压缩后文件的

src:是用来存放压缩前的文件

package.json可以通过npm init来创建name,version,但是devDepentdencies初始为空的,后面会根据npm install grunt --save-dev,npm install grunt-contrib-uglify --save-devnpm install grunt-contrib-qunit --save-devnpm install grunt-contrib-concat --save-devnpm install grunt-contrib-jshint --save-dev npm install grunt-contrib-watch --save-dev建立的依赖关系自动补全

Gruntfile.js  配置如下: module.exports = function(grunt) { grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), concat: { options: { separator: ';' }, dist: { src: ['src/**/*.js'], dest: 'dist/<%= pkg.name %>.js' } }, uglify: { options: { banner: '/*! <%= pkg.name %> <%= grunt.template.today("dd-mm-yyyy") %> */\n' }, buildall: { options: { mangle: true, compress: { drop_console: true }, report: "min" //输出压缩率,可选值有false(不输出) }, files: [{ expand: true, cwd: 'src', //js目录下 src: '**/*.js', //所有js文件 ext: '.min.js', dest: 'dist' //输出到此目录下 }] } //    dist: { //      files: { //        'dist/<%= pkg.name %>.min.js': ['<%= concat.dist.dest %>'] //      } //    } }, qunit: { files: ['test/**/*.html'] }, jshint: { files: ['Gruntfile.js', 'src/**/*.js', 'test/**/*.js'], options: { //这里是覆盖JSHint默认配置的选项 globals: { jQuery: true, console: true, module: true, document: true } } }, watch: { // files: ['<%= jshint.files %>'], // tasks: ['jshint', 'qunit'] scripts: { files: ['src/**/*.js'], tasks: ['minall'], options: { spawn: true, interrupt: true } } } }); grunt.loadNpmTasks('grunt-contrib-uglify'); // grunt.loadNpmTasks('grunt-contrib-jshint'); // grunt.loadNpmTasks('grunt-contrib-qunit'); // grunt.loadNpmTasks('grunt-contrib-watch'); // grunt.loadNpmTasks('grunt-contrib-concat'); grunt.registerTask('minall', ['uglify:buildall']); grunt.registerTask('default', ['jshint','qunit','uglify','concat']); };

4.运行grunt uglify压缩完成

转载请注明原文地址: https://www.6miu.com/read-600000.html

最新回复(0)