zoukankan      html  css  js  c++  java
  • 构建工具

    前端的工作中会用到各种基于Node的构建工具,现在我们就来一起比较一下各种构建工具的优劣。

      国内下载一些npm库速度不是很快,多亏了淘宝的程序员推出了cnpm(国内的镜像,具体使用时 将npm换成cnpm)

    安装各种插件都是基于npm,npm地址 

    构建工具的全局命令行实现原理:

      npm会在环境变量(在我的电脑右键 属性 --> 高级系统设置 --> 环境变量) path 中添加 npm全局安装包的路径,

      npm安装全局包的时候会检查 项目中 package.json的bin属性,

      之后会在npm路径中创建一个可执行文件( 比如 grunt ,grunt.cmd )来执行对应的指令

    npm的依赖文件在package.json中

    Grunt篇

      官网   中文网

      安装全局的命令行支持

        npm i grunt-cli -g

      安装本地

        npm install grunt --save-dev

      API:

        grunt.initConfig 配置插件参数

        grunt.loadNpmTasks 加载相应的插件本地依赖包

        grunt.registerTask 注册任务

      Gruntfile.js编写

        

    //node的模块管理
    module.exports = function(grunt) {
    
      //配置任务数据
      grunt.initConfig({
        pkg: grunt.file.readJSON('package.json'),
        uglify: {
          options: {
            banner: '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */
    '
          },
          build: {
            src: 'src/<%= pkg.name %>.js',
            dest: 'build/<%= pkg.name %>.min.js'
          }
        }
      });
    
      // 加载包含 "uglify" 任务的插件。 相当于 require 相应包的过程
      grunt.loadNpmTasks('grunt-contrib-uglify');
    
      // 默认被执行的任务列表。 注册相应的任务
      grunt.registerTask('default', ['uglify']);
    
    };

    Gulp篇

      官网  中文网

      

      安装全局的命令行支持

        npm install --global gulp

      安装本地

        npm install --save-dev gulp

      API

        gulp.src 读取符合glob的文件并符合 vinfy 的stream

        gulp.dest 将pipe流写入文件

        gulp.task 定义任务并编写任务执行方式

      gulpfile.js编写

    var gulp = require('gulp');
    var concat = require('gulp-concat');//文件合并
    var uglify = require('gulp-uglify');// 代码压缩
    
    gulp.task('1', function() {
        // 任务一 会在default执行之前执行
        console.log(1);
        gulp.src('js/*.js') // 匹配 '/somedir/somefile.js' 并且将 `base` 解析为 `client/js/`
            .pipe(concat('all.js'))
            .pipe(uglify())
            .pipe(gulp.dest('build')); // 写入 'build/somedir/somefile.js'
    });
    
    gulp.task('default', ['1'], function() {
        // 将你的默认的任务代码放在这
        console.log('default')
    });

    webpack篇

      官网   中文网

      安装全局的命令行支持

        npm install -g webpack

      安装本地

        npm install --save-dev webpack

  • 相关阅读:
    LinQ表达式的一点点总结(二)select中新建对象
    给自己的博客添加分享到功能
    职场日记2上班第一天
    清楚屏幕右侧变化的数据Application.Current.Host.Settings.EnableFrameRateCounter = true;
    基于委托的异步
    C#中的装箱与拆箱
    关于java的初始化问题
    StreamReader类以及其方法ReadLine,Read,ReadToEnd的分析
    WP7的控件开发入门(二)
    单元测试的阶段性总结
  • 原文地址:https://www.cnblogs.com/xiaxiaodong/p/8417772.html
Copyright © 2011-2022 走看看