define(function(){ var PI = 3.14; function multiple(num1,num2){//定义一个乘法, return num1 * num2; } function square(n){//定义平方 return Math.pow(n,2); } return {//将数据导出 PI : PI, multiple : multiple, square : square } })
define(['./math'],function(m1){//用中括号定义依赖模块的名字,而且要传入一个参数m1表明这个math模块,若是引用了多个模块,要按照顺序写入对应的参数, function circle(r){//定义一个圆的面积,r表明半径 return m1.multiple(m1.PI,m1.square(r)); } return{ s_circle : circle;//返回这个方法 } })
(function(){//当即执行函数 require(['./s],function(s1){//定义依赖s.js的模块,经过参数s1传递 console.log(s1.s_circle(10)); }) })()
var s = require('./s'); console.log(s.s_circle(10)); math.js的定义的方式 var PI = 3.14; function multiple(num1,num2){ return num1 * num2 ; } function square(n){ return Math.pow(n,2); } module.exports = { PI : PI, multiple : multiple, square : square }
var m = require('./math'); function circle(r){ return m.multiple(m.PI,m.square(r)); } module.exports = { s_circle : circle }
var gulp = require('gulp'); gulp.task('default',function(){ //place default code })
var gulp = require('gulp');//请求这个模块 gulp.task('copy-index',function(){//第一个参数copy-index,这里由于是一个独立的任务,没有其余依赖任务,因此是独立的,不须要第二个参数 gulp.src('./src/index.html')//取到指定的文件。 .pipe(gulp.dest('./dist'))//pipe是管道的意思,做用是取得pipe以前的文件流做为pipe的参数内函数执行的输入,gulp.dest的做用是将输入的文件流写入到指定的路径下,如今输入的文件流就是src取到的文件流, }); gulp.task('copy-html',function(){ gulp.src('./src/html/*.html')//*表明html文件下的全部文件 .pipe(gulp.dest('./dist/html')) }); gulp.task('copy-vendor',function(){ gulp.src('./src/vendor/**/*.*')//**表明我要递归的选到全部的文件,*.*表明不论是什么文件 .pipe(gulp.dest('./dist/vendor')) }); gulp.task('copy-assets',function(){ gulp.src('./assets/**/*.*') .pipe(gulp.dest('./dist/assets')) }); //一个命令一个命令是很是繁琐的,能够将这四个命令进行合成,cmd中的相应路径中输入gulp copy就能够了 gulp('copy',['copy-index','copy-html','copy-vendor','copy-assets']);
var uglify = require('gulp-uglify');//请求这个模块 gulp.task('concat',function(){ gulp.src('./src/script/**/*.js') .pipe(concat('output.js'))//连接js,而后设置文件名 .pipe(uglify())//将链接以后的文件进行压缩 .pipe(gulp.dest('./dist/js')); })
gulp.task('sass',function(){ gulp.src('./src/style/*.scss') .pipe(sass()) .pipe(gulp.dest('./dist/style'))//编译后的文件保存 .pipe(minify())//压缩 .pipe(rename(function(filename){//由于源文件有多个,因此须要一个函数去重命名 filename.basename += '.min';//basename是表示源文件的名字 })) .pipe(gulp.dest('./dist/style')); })
gulp.task('watch',function(){ gulp.watch('./src/index.html',['copy-index']);//监听src下的index.html有任何的变化,执行copy-index任务 gulp.watch('./src/script/**/*.js',['concat']); gulp.watch('./src/vendor/**/*.*',['copy-vendor']); gulp.watch('./src/html/**/*.html',['copy-vendor']); gulp.watch('./assets/**/*.*',['copy-assets']); gulp.watch('./src/style/**/*.scss',['sass']); })
var connect = require('gulp-connect'); gulp.task('server',function(){ connect.server({//创建一个服务器 root:'./dist',//创建两个参数,服务器的源地址 livereload:true//这个服务器自动刷新true }) }) gulp.watch('./dist/**/*.*',['reload']);//这是gulp.task下的一个方法,监听dist下的全部文件,执行reload任务 gulp.task('reload',function(){//若是文件有了任何改变,用watch来调用来进行自动的刷新 gulp.src('./dist/*.html') .pipe(connect.reload());//调用方法, }) gulp.task('default',['server','watch'],function(){//能够在cmd中直接输入gulp,这是默认的任务,回调两个任务,而不须要一个一个进行任务的运行 })
var plumber = require('gulp-plumber');//调用gulp-plumber //好比在sass任务中加入错误处理 gulp.task('sass',function(){ gulp.src('./src/style/*.scss') .pipe(plumber())//加入错误处理,这样后台出错的时候,也不会致使监听服务中断 .pipe(sass())//编译scss .pipe(gulp.dest('./dist/style')) .pipe(minify()) .pipe(rename(function(filename){ filename.basename += '.min';//basename是表示源文件的名字 })) .pipe(gulp.dest('./dist/style')); })