• 初探nodejs,学习使用gulp管理前端文件


    1、安装node.jshttps://nodejs.org/en/

    安装后使用node -v查看版本

    node安装完之后会顺带安装npm

    ps:npm其实是Node.js的包管理工具(package manager)为啥我们需要一个包管理工具呢?因为我们在Node.js上开发时,会用到很多别人写的JavaScript代码。如果我们要使用别人写的某个包,每次都根据名称搜索一下官方网站,下载代码,解压,再使用,非常繁琐。于是一个集中管理的工具应运而生:大家都把自己开发的模块打包后放到npm官网上,如果要使用,直接通过npm安装就可以直接用,不用管代码存在哪,应该从哪下载。更重要的是,如果我们要使用模块A,而模块A又依赖于模块B,模块B又依赖于模块X和模块Y,npm可以根据依赖关系,把所有依赖的包都下载下来并管理起来。

    同样用npm -v查看版本

    2、安装gulp插件:npm install -g gulp

    3、本地创建一个项目文件并用gulp管理

         1>在D盘创建要给空文件夹Gulp_Test 。Win+R打开命令窗口并定位到当前项目目录,然后输入指令:npm init 回车(有git的童鞋在文件夹里直接右键 git bash here也可),命令执行期间会提示输入一些关于项目的描述信息,非必填一路回车即可。

    完成之后文件夹中会生成一个package.json文件。

    2>执行以下命令

    //本地安装: npm install gulp --save-dev (gulp插件)
    //本地安装: npm install gulp-concat --save-dev (合并插件)
    //本地安装:npm install gulp-uglify --save-dev (压缩插件)
     
    至此,所有准备工作已就绪,开始管理我们的项目吧。
     (1)在项目根目录创建一个名为gulpfile.js的js文件
    (2)在根目录新建js文件夹,并在文件夹中新建两个js文件,代码如下:
     

    index.js:

    1 var index={}; 
    2 index={ 
    3 test:function(argument){ 
    4 console.log('test'); 
    5 } 
    6 } 
    7 index.test();
    View Code
    main.js:
     
    1 var main = {}; 
    2 main.test=function(argument){ 
    3 console.log("main test"); 
    4 } 
    5 main.test();
    View Code

    (3)在根目录创建build文件夹,用来存放打包后的文件

    (4)编辑第(1)步创建的gulpfile.js文件,内容如下:

     1 var fs = require('fs');
     2 var gulp = require('gulp');//gulp自身 
     3 var uglify= require('gulp-uglify');//引入压缩组件
     4 var concat = require('gulp-concat');//引入合并组建
     5 gulp.task('taskName', function() { 
     6 // 找到src目录下的所有文件夹中的所有js文件
     7 return gulp.src('js/*.js')
     8 .pipe(uglify())//压缩 
     9 .pipe(concat('all.min.js'))//输入到all.min.js中 
    10 .pipe(gulp.dest('./build'))//指定目录 
    11 .on('end', callback);//结束事件回调
    12 }); 
    13 //检查文件体积
    14 function callback() {
    15 var path = "./build/all.min.js";
    16 var exists = fs.existsSync(path);
    17 if (!exists) {
    18 return;
    19 }
    20 var states = fs.statSync(path);
    21 console.log("file size:" + Math.ceil(states.size / 1024) + "kb");
    22 }
    View Code

    PS:taskName为变量,任务名。可以定义多个task,并根据glup+taskName执行不同的task

    (5)执行gulp命令 :gulp taskName

    (6)执行成功之后检查build文件是否有all.min.js生成

  • 相关阅读:
    C++入门经典-例3.4-根据成绩划分等级
    C++入门经典-例3.3-if-else语句的奇偶性判别
    C++入门经典-例3.2-根据分数判断是否优秀
    C++入门经典-例3.1-判断输入的数字是否为奇数
    C++入门经典-例2.17强制类型转换
    C++入门经典-例2.16-隐式类型转换
    C++入门经典-例2.15-逗号表达式的应用
    C++入门经典-例2.14-使用移位运算
    C++入门经典-例2.13-左移运算
    Spring之Bean管理------注解方式
  • 原文地址:https://www.cnblogs.com/surfing/p/9214564.html
Copyright © 2020-2023  润新知