一、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打造大型企业官网(一)的更多相关文章

  1. 超细讲解Django打造大型企业官网

    本文为知了课堂黄勇老师讲的<超细讲解Django打造大型企业官网>的笔记. 第一章 Django预热 1.创建virtualenv虚拟环境 2.URL组成部分详解 3.Django介绍 4 ...

  2. Django打造大型企业官网

    第1章 Django预热 1-为什么需要虚拟环境 2-virtualenv创建虚拟环境 3-virtualenvwrapper使用 4-URL组成部分讲解 5-课程准备工作 6-Django介绍 第2 ...

  3. Django打造大型企业官网(二)

    三.项目环境搭建 3.1.创建项目环境和安装包 创建django项目 mkvirtualenv DjangoProject workon DjangoProject pip install -i ht ...

  4. Django打造大型企业官网(八)

    4.16.侧边栏标题和广告位布局完成 templates/news/index.html <div class="sidebar-wrapper"> <div c ...

  5. Django打造大型企业官网(七)

    4.13.新闻列表tab栏布局完成 templates/news/index.html <div class="list-outer-group"> <ul cl ...

  6. Django打造大型企业官网(六)

    4.9.根据轮播图个数修改小圆点数量 src/js/index.js function Banner() { this.bannerWidth = 798; } Banner.prototype.in ...

  7. Django打造大型企业官网(五)

    4.6.切换轮播图的箭头样式以及显示和隐藏 templates/news/index.html <span class="arrow left-arrow">‹< ...

  8. Django打造大型企业官网(四)

    4.3.轮播图布局和样式 templates/news/index.html <div class="news-wrapper"> <div class=&quo ...

  9. Django打造大型企业官网(三)

    四.前端首页 4.1.导航条实现 (1)templates/new/index.html <!DOCTYPE html> <html lang="en"> ...

随机推荐

  1. ROS在rviz中实时显示轨迹(nav_msgs/Path消息的使用)

    消息结构说明nav_msgs/Path.msg结构#An array of poses that represents a Path for a robot to followHeader heade ...

  2. Java加密简介

    加密算法: 1.对称加密 DES   AES 2.非对称加密 RSA 3.散列函数算法加密 (单项加密)::MD5.SHA.Mac 4.数字签名算法:RSA.DSA 其中,前三种主要完成数据的加解密: ...

  3. 让xamarin的Entry绑定时,支持Nullable类型

    xamarin.forms默认情况下,如果属性是double?类型,绑定到Entry上,是无法实现双向绑定的, 可以自定义Converter实现双向绑定 public class NullableCo ...

  4. Vue完成TodoList案例

    写一个简单的TodoList的更实用(文末有彩蛋). 一,使用VUE-CLI脚手架快速搭建一个框架 利用VUE-CLI来自动生成我们项目的前端目录及文件,方法: npm install -g vue- ...

  5. 使用JQuery MiniUI,json数据构建TreeGrid(树图)

    index.html直接上代码. 需要引用MiniUI的boot.js <!DOCTYPE html> <html> <head> <meta charset ...

  6. g20学习笔记

    BALProblem.h---------定义BALProblem类. BALProblem类保存我们的BA所需要的所有数据,包括相机与路标之间的联系,相机变量+路标变量的初始值.这些数据的原始信息都 ...

  7. 禁止浏览器static files缓存篇

    由于CSS/JS文件经常需要改动,前端调试时是不希望浏览器缓存这些文件的. Meta法 目前在chrome调试还没有遇到问题,好用!此方法假设浏览器是个好人!很听我们的话! <meta http ...

  8. nohup 忽略所有挂断信号

    1.nohup 用途:不挂断地运行命令. 语法:nohup Command [ Arg … ] [ & ] 无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup ...

  9. Win2008 Server MySql安装包详细安装教程

    首先去官网下载 下载MySql 下载地址:http://downloads.mysql.com/archives/community/ 我这里选择MSI的32位安装包安装,服务器系统32位的. 安装M ...

  10. rbac组件之权限操作(四)

    对于权限表的操作有两种方式,第一种是一个个的权限进行curd,另外一种是批量操作,自动发现django程序中的路由,进行批量curd,首先介绍第一种方式. 因为在列出菜单时,已经将权限列表列出来了,所 ...