zoukankan      html  css  js  c++  java
  • gulp前端构建工具的搭建

    我的机器:

    3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:08 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

    1、安装nodejs

    ~$ wget https://nodejs.org/dist/v6.2.0/node-v6.2.0-linux-x64.tar.gz

    ~$ tar -zxvf node-v6.2.0-linux-x64.tar.gz

    ~$ sudo mv node-v6.2.0-linux-x64 /usr/local/node

    ~$ sudo chmod 755 /usr/local/node/* -R

    然后修改:

    ~/.bashrc,对此文件进行修改

    export NODE=/usr/local/node

    export PATH=${NODE}/bin:$PATH

    然后执行保存。

    执行命令source ~/.bashrc。

    2、安装cnpm

    说明:因为npm安装插件是从国外服务器下载,受网络影响大,可能出现异常,如果npm的服务器在中国就好了,所以我们乐于分享的淘宝团队干了这事。32个�!来自官网:“这是一个完整 npmjs.org 镜像,你可以用此代替官方版本(只读),同步频率目前为 10分钟 一次以保证尽量与官方服务同步。”

    官方网址:http://npm.taobao.org

    安装:命令提示符执行npm install cnpm -g --registry=https://registry.npm.taobao.org;  注意:安装完后最好查看其版本号cnpm -v或关闭命令提示符重新打开,安装完直接使用有可能会出现错误;

    注:cnpm跟npm用法完全一致,只是在执行命令时将npm改为cnpm(以下操作将以cnpm代替npm)。

    3、全局安装gulp

    说明:全局安装gulp目的是为了通过她执行gulp任务;

    安装:命令提示符执行cnpm install gulp -g

    查看是否正确安装:命令提示符执行gulp -v,出现版本号即为正确安装。

    4、基于gulp 的静态代码结构

    通过gulp打包好(压缩、合并等操作)资源,通常会生成到新的一个文件夹内。像这样:

    4.2、结合gulp静态资源分离实现的目的

    4.2.1、将静态资源(img、js、css等跟程序部分完全分离),有利于处理CDN加速

    4.2.2、方便在未打包和已打包资源切换调试,开发时当然不希望代码是压缩的

    4.2.3、源码部分不想发布至线上,比如sass/less文件是不必放到线上的

    5、接下来,我们需要将gulp安装到项目本地

      1)先进入项目根路径: ~$ cd {projectpath}

      2)新建package.json

    {
      "name": "web",
      "version": "1.0.0",
      "description": "demo",
      "main": "index.js",
      "dependencies": {},
      "devDependencies": {
        "gulp": "^3.8.11",
        "gulp-less": "^3.0.1"
    },
      "scripts": {
        "test": "echo "Error: no test specified" && exit 1"
      },
      "keywords": [
        "demo"
      ],
      "author": "zhujinming",
      "license": "ISC"
    }

      3)新建gulpfuile.js

    //导入工具包 require('node_modules里对应模块')
    var gulp = require('gulp'), //本地安装gulp所用到的地方
        less = require('gulp-less');
    //    uglify= require('gulp-uglify');
    
    //定义一个less任务(自定义任务名称)
    gulp.task('less', function () {
        gulp.src('src/less/*.less') //
            .pipe(less()) //该任务调用的模块
            .pipe(gulp.dest('src/css')); //将会在src/css下生成index.css
    });
    
    
    
    gulp.task('default',['less', 'elseTask']); //定义默认任务 elseTask为其他任务,该示例没有定义elseTask任务
    
    //gulp.task(name[, deps], fn) 定义任务  name:任务名称 deps:依赖任务名称 fn:回调函数
    //gulp.src(globs[, options]) 执行任务处理的文件  globs:处理的文件路径(字符串或者字符串数组)
    //gulp.dest(path[, options]) 处理完后文件生成路径
    4)src 目录包括:
      

      

      css 为空目录。

    5)执行gulp

    结果:



  • 相关阅读:
    工作的本质是思考
    V8、JSCore、Hermes、QuickJS,hybrid开发JS引擎怎么选
    Aspects框架的源码解读及问题解析
    饿了么移动APP的架构演进
    关键字:客户端架构演进
    以小见大,见微知著——亿万级APP架构演进之路
    理解 Swift:ObjectiveC 的构建管道
    MMKV 组件现在开源了
    进阶:iOS 性能优化系列
    你如果无法度量它,就无法管理它
  • 原文地址:https://www.cnblogs.com/HendSame-JMZ/p/6182921.html
Copyright © 2011-2022 走看看