Django打造大型企业官网(一)
一、nvm的安装
(1)下载:nvm1.16
(2)安装完成后添加环境变量
C:\Users\Administrator\AppData\Roaming\nvm
(3)修改settings.txt,将npm镜像改为淘宝的镜像
在你安装的目录下找到settings.txt文件,打开后加上
node_mirror: https://npm.taobao.org/mirrors/node/
npm_mirror: https://npm.taobao.org/mirrors/npm/
(4)安装node
nvm install node 6.4.0 nvm list nvm use 6.4.0
二、gulp的安装和用法
2.1.安装
npm init 生成一个package.json npm install gulp -g 全局 npm install gulp --save-dev 本地
2.2.创建gulp任务
在项目根目录创建 gulpfile.js,里面代码如下
var gulp = require("gulp");
gulp.task("greet",done => {
    console.log('hello world');
    done();
});
终端输入命令执行任务:gulp greet

2.3.创建css处理文件任务
主要对css文件进行压缩,然后再将压缩的文件放到指定目录
安装插件
npm install cssnano --save-dev
gulpfile.js代码
var gulp = require("gulp");
var cssnano = require("gulp-cssnano")
gulp.task("greet",done => {
    console.log('hello world');
    done();
});
gulp.task("css",done =>{
    gulp.src("./css/*.css")
    .pipe(cssnano())
    .pipe(gulp.dest("./dest/css/"))
    done();
})
2.4.修改文件名
安装插件
npm install gulp-rename --save-dev
gulpfile.js
var cssnano = require("gulp-cssnano")
var rename = require("gulp-rename")
gulp.task("css",done =>{
    gulp.src("./css/*.css")
    .pipe(cssnano())
    .pipe(rename({"suffix":".min"}))
    .pipe(gulp.dest("./dest/css/"))
    done();
})
2.5.创建处理js文件的任务
安装插件
npm install gulp-uglify --save-dev
gulpfile.js
var uglify = require("gulp-uglify")
gulp.task("js",done =>{
    gulp.src("./js/*.js")
    .pipe(uglify({
        'toplevel':true,
        'compress':{
            'drop_console':true
        }
    }))
    .pipe(rename({"suffix":".min"}))
    .pipe(gulp.dest("./dest/js/"))
    done();
})
2.6.合并多个文件
安装插件
npm install gulp-concat --save-dev
gulpfile.js
var uglify = require("gulp-uglify")
var concat = require("gulp-concat")
gulp.task("js",done =>{
    gulp.src("./js/*.js")
    .pipe(concat("index.js"))  //拼接成一个文件
    .pipe(uglify({
        'toplevel':true,
        'compress':{
            'drop_console':true
        }
    }))
    .pipe(rename({"suffix":".min"}))
    .pipe(gulp.dest("./dest/js/"))
    done();
})
2.7.压缩图片
安装插件
npm install gulp-tinypng-nokey -–save-dev
gulpfile.js
var tinypng_nokey = require('gulp-tinypng-nokey')
gulp.task("images",done =>{
    gulp.src("./images/*.*")
    .pipe(tinypng_nokey())
    .pipe(gulp.dest("./dest/images/"))
    done();
});
终端命令;gulp images

2.8.watch检测代码,自动保存
gulp.task('auto',function () {
    gulp.watch('./css/*.css',  gulp.series('css'));
})
修改代码后,自动执行相应的任务

2.9.更改文件自动刷新浏览器
安装插件
npm install browser-sync -–save-dev
gulpfile.js
var bs = require("browser-sync").create();
gulp.task("css",done =>{
    gulp.src("./css/*.css")
    .pipe(cssnano())
    .pipe(rename({"suffix":".min"}))
    .pipe(gulp.dest("./dest/css/"))
    .pipe(bs.reload({
        stream: true
    }))
    done();
});
gulp.task('auto',function () {
    gulp.watch('./css/*.css',  gulp.series('css'));
});
gulp.task("bs",function () {
    bs.init({
        'server':{
            'baseDir':'./',
        }
    })
});
gulp.task("server",gulp.parallel('bs','auto'));
var gulp = require("gulp");
var cssnano = require("gulp-cssnano");
var rename = require("gulp-rename");
var uglify = require("gulp-uglify");
var concat = require("gulp-concat");
var tinypng_nokey = require('gulp-tinypng-nokey')
var bs = require("browser-sync").create();
gulp.task("greet",done => {
    console.log('hello world');
    done();
});
gulp.task("css",done =>{
    gulp.src("./css/*.css")
    .pipe(cssnano())
    .pipe(rename({"suffix":".min"}))
    .pipe(gulp.dest("./dest/css/"))
    .pipe(bs.reload({
        stream: true
    }))
    done();
});
gulp.task("js",done =>{
    gulp.src("./js/*.js")
    .pipe(concat("index.js"))  //拼接成一个文件
    .pipe(uglify({
        'toplevel':true,
        'compress':{
            'drop_console':true
        }
    }))
    .pipe(rename({"suffix":".min"}))
    .pipe(gulp.dest("./dest/js/"))
    done();
});
gulp.task("images",done =>{
    gulp.src("./images/*.*")
    .pipe(tinypng_nokey())
    .pipe(gulp.dest("./dest/images/"))
    done();
});
gulp.task('auto',function () {
    gulp.watch('./css/*.css',  gulp.series('css'));
});
gulp.task("bs",function () {
    bs.init({
        'server':{
            'baseDir':'./',
        }
    })
});
gulp.task("server",gulp.parallel('bs','auto'));
gulpfile.js
修改完代码自动刷新浏览器

Django打造大型企业官网(一)的更多相关文章
- 超细讲解Django打造大型企业官网
		
本文为知了课堂黄勇老师讲的<超细讲解Django打造大型企业官网>的笔记. 第一章 Django预热 1.创建virtualenv虚拟环境 2.URL组成部分详解 3.Django介绍 4 ...
 - Django打造大型企业官网
		
第1章 Django预热 1-为什么需要虚拟环境 2-virtualenv创建虚拟环境 3-virtualenvwrapper使用 4-URL组成部分讲解 5-课程准备工作 6-Django介绍 第2 ...
 - Django打造大型企业官网(二)
		
三.项目环境搭建 3.1.创建项目环境和安装包 创建django项目 mkvirtualenv DjangoProject workon DjangoProject pip install -i ht ...
 - Django打造大型企业官网(八)
		
4.16.侧边栏标题和广告位布局完成 templates/news/index.html <div class="sidebar-wrapper"> <div c ...
 - Django打造大型企业官网(七)
		
4.13.新闻列表tab栏布局完成 templates/news/index.html <div class="list-outer-group"> <ul cl ...
 - Django打造大型企业官网(六)
		
4.9.根据轮播图个数修改小圆点数量 src/js/index.js function Banner() { this.bannerWidth = 798; } Banner.prototype.in ...
 - Django打造大型企业官网(五)
		
4.6.切换轮播图的箭头样式以及显示和隐藏 templates/news/index.html <span class="arrow left-arrow">‹< ...
 - Django打造大型企业官网(四)
		
4.3.轮播图布局和样式 templates/news/index.html <div class="news-wrapper"> <div class=&quo ...
 - Django打造大型企业官网(三)
		
四.前端首页 4.1.导航条实现 (1)templates/new/index.html <!DOCTYPE html> <html lang="en"> ...
 
随机推荐
- spring中路径的注入
			
@RequestMapping("${mgt}/file") //请求的路径的统一添加,需要在mvc层配置<context:property-placeholder loca ...
 - WPF动画 - Loading加载动画
			
存在问题: 最近接手公司一个比较成熟的产品项目开发(WPF桌面端),其中,在登陆系统加载时,60张图片切换,实现loading闪烁加载,快有密集恐惧症了!!! 代码如下: private void L ...
 - C# 获取U盘ID序列号及U盘信息
			
C# 获取U盘ID序列号及U盘信息 2011-05-20 上传大小:35KB c#VS2005U盘IDU盘信息 获取U盘ID序列号 VS2005编译通过,源码源自CSDN.已经测试好用. 可以获得 ...
 - 第3节 mapreduce高级:2、3、课程大纲&共同好友求取步骤一、二
			
第五天课程大纲:1.社交粉丝的数据分析:求共同好友2.倒排索引的建立3.自定义inputFormat合并小文件 4.自定义outputformat5.分组求topN6.MapReduce的其他补充 了 ...
 - Codeforces Beta Round #93 (Div. 2 Only) (Virtual participation)
			
A 相邻点对距离和*k B (Σ(v/2))/2 C 一直想不到"最优"是怎么体现的,发现y2=y1*(t1-t0)/(t0-t2),就写了1e6的枚举,然而又一些特殊情况没考虑到 ...
 - python中的句柄操作
			
python中的句柄操作 制作人:全心全意 通过窗口标题获取句柄 import win32gui hld = win32gui.FindWindow(None,u"Adobe Acrobat ...
 - token 的生成杂谈
			
背景 很多时候我们需要用 token 来作为一些标识, 比如: 一个用户登录后的认证标识. 实现方式 md5 的方式: $v = 1; // 自己定义的 需要hash 的value 值 $key = ...
 - 【BZOJ 1003】[ZJOI2006]物流运输(Dijkstra+DP)
			
题链 http://www.lydsy.com/JudgeOnline/problem.php?id=1003 Description 物流公司要把一批货物从码头A运到码头B.由于货物量比较大,需要n ...
 - UART整理
			
通用异步收发器简称UART,英文全称"Universal Asynchronous Receiver Transmitter".UART使用标准的TTL/CMOS逻辑电平(0~5V ...
 - 【Codeforces 1042D】Petya and Array
			
[链接] 我是链接,点我呀:) [题意] 题意 [题解] 把a[i]处理成前缀和 离散化. 枚举i从1..n假设a[i]是区间和的a[r] 显然我们需要找到a[r]-a[l]<t的l的个数 即a ...