用python给html里的css及js文件链接自动添加版本号,

 

观念的给文件链接添加版本号的措施是应用gulp-rev,那里建议的缓解方案是利用python来顶替gulp-rev。

 

import os
import re
import uuid
import sys


def file_extension(path):
    return os.path.splitext(path)[1]


basePath = sys.argv[1]
if len(sys.argv)==1:
    sys.exit()


html_list = []


def find_html(path):
    files = os.listdir(path=path)

    for item in files:
        abs_path = os.path.join(path, item)
        if not os.path.isdir(abs_path) and file_extension(abs_path) == ".html":
            html_list.append(abs_path)

        if (os.path.isdir(abs_path)):
            find_html(abs_path)


def deal_html(html_list):
    for html_path in html_list:
        html_file = open(html_path, "r+", encoding='UTF-8')
        content = html_file.read()
        # print(html_file.read())
        # res = re.sub(r'<link (.*) href="(.*)\.css".*>',r'<link \1 href="\2\.css?v=1"\3>',content)
        res1 = re.sub(r'<link (.*) href="(.*)\.css.*"(.*)>', lambda x: '<link ' + x.group(1) + ' href="' + x.group(
            2) + '.css?v=' + uuid.uuid1().hex + '"' + x.group(3) + '>', content)
        res2 = re.sub(r'<script src="(.*)\.js.*"></script>',
                      lambda x: '<script src="' + x.group(1) + '.js?v=' + uuid.uuid1().hex + '"></script>', res1)
        html_file.seek(0)
        html_file.truncate()
        html_file.write(res2)
        html_file.close()


if __name__ == '__main__':
    find_html(basePath)
    deal_html(html_list)

将以上代码另存成auto_version.py文件后,新建auto_version.bat文件,写入以下内容:

python ./auto_version.py "D:\your project dir"

修改好.bat文件里的门道后,双击运维即可。

古板的给文件链接添加版本号的措施是行使gulp-rev,那里指出的消除方案是行使python来替…

为何使用

转自  

观念的给文件链接添加版本号的办法是采取gulp-rev,那里提议的解决方案是运用python来取代gulp-rev。

代码同步

金沙注册送58 1

 

browser-sync 应用格局

环境:win7  tomcat7 

import os
import re
import uuid
import sys


def file_extension(path):
    return os.path.splitext(path)[1]


basePath = sys.argv[1]
if len(sys.argv)==1:
    sys.exit()


html_list = []


def find_html(path):
    files = os.listdir(path=path)

    for item in files:
        abs_path = os.path.join(path, item)
        if not os.path.isdir(abs_path) and file_extension(abs_path) == ".html":
            html_list.append(abs_path)

        if (os.path.isdir(abs_path)):
            find_html(abs_path)


def deal_html(html_list):
    for html_path in html_list:
        html_file = open(html_path, "r+", encoding='UTF-8')
        content = html_file.read()
        # print(html_file.read())
        # res = re.sub(r'<link (.*) href="(.*)\.css".*>',r'<link \1 href="\2\.css?v=1"\3>',content)
        res1 = re.sub(r'<link (.*) href="(.*)\.css.*"(.*)>', lambda x: '<link ' + x.group(1) + ' href="' + x.group(
            2) + '.css?v=' + uuid.uuid1().hex + '"' + x.group(3) + '>', content)
        res2 = re.sub(r'<script src="(.*)\.js.*"></script>',
                      lambda x: '<script src="' + x.group(1) + '.js?v=' + uuid.uuid1().hex + '"></script>', res1)
        html_file.seek(0)
        html_file.truncate()
        html_file.write(res2)
        html_file.close()


if __name__ == '__main__':
    find_html(basePath)
    deal_html(html_list)

browser-sync-spa

 

将上述代码另存成auto_version.py文件后,新建auto_version.bat文件,写入以下内容:

gulp-livereload 实时刷新

开机自运维:

python ./auto_version.py "D:\your project dir"

AngularJS

利用管理员打开命令提醒符,进入tomcat7目录,运维 

修改好.bat文件里的路线后,双击运行即可。

eslint-plugin-angular

 

gulp-angular-filesort

组合使用以gulp-inject正确的依次注入您的AngularJS应用程序文件(脚本),以摆脱全部Uncaught
Error:
[$injector:modulerr]。为了科学工作,每种角度文件须求具备唯一命名的模块和setter语法(带括号),即angular.module(‘myModule’,
[])。

[plain] view
plain copy

gulp-angular-templatecache 将html模板缓存到$templateCache中

 

gulp-ng-annotate //是二个拍卖angularjs正视注入的插件,它的用法如下

gulp.task('build-app-js', function () {
    return gulp.src('src/app/**/*.js')
        .pipe(ngAnnotate({single_quotes: true}))
        .pipe(gulp.dest(buildDir + '/js/app'));
});

不奇怪大家写angular代码是那样子的

angular.module('app', [])
    .controller('AppCtrl', ['$scope', function($scope) {
        // 别的代码
    }])

但使用了那些插件之后,每二个依赖注入的项就不用再写五回了,如

angular.module('app', [])
    .controller('AppCtrl', function($scope) {
        // 别的代码
    })

gulp-ng-annotate会帮大家生成带中括号的写法
,那样子是或不是节省了许多再度工作吗?特别是在注入的服务尤其多的时候,可以少写过多代码,并且也不用担心顺序有没有写错。

  1. service remove tomcat7 & service install tomcat7 & sc config tomcat7 start= auto   

【金沙注册送58】开机自运营,gulp插件介绍。文本操作

&是统一多条语句,start=
和auto之间有个空格

gulp-filter 过滤文件

Example:https://github.com/hjzheng/CUF\_meeting\_knowledge\_share/blob/master/2015-11-10/gulpfile.js
gulp-filter能够把stream里的文件根据早晚的条条框框实行筛选过滤。比如gulp.src中盛传匹配符匹配了广大文件,能够把这个文件pipe给gulp-filter作二回筛选,如gulp.src(‘*/.js’).pipe($.filter(/a/*.js)),本来选中了全部子文件下的js文件,经过筛选后变成名为a的子文件夹下的js文件。那有人要问了,为何不直接将急需的筛选传入gulp.src,干嘛要多筛选一步呢?这些中有三种意况:

gulp.src与$.filter中间只怕必要别的处理,比如小编对具备文件做了操作1以后,还索要筛选出一部分做操作2。
第一种情状就要谈到gulp-filter的其它三个特色:筛选之后仍是能够restore回去。比如本人对具备文件做了操作1,筛选了一局地做操作2,最终要把拥有的文本都拷贝到最后的职分。代码如下:

var filter = $.filter('**/a/*.js');
gulp.src('**/*.js')
    .pipe(action1())
    .pipe(filter)
    .pipe(action2())
    .pipe(filter.restore())
    .pipe(gulp.dest('dist'))

能够看看,要是没有restore那些操作,那么拷贝到最后地点的文件将只包罗被过滤出来的文书,那样一restore,全部的文书都被拷贝了。

 

金沙注册送58,gulp-flatten 当拷贝文件时,不想拷贝目录时使用

例子:https://segmentfault.com/q/1010000004266922
gulp-flatten卓殊实用,恐怕清楚别的库中flatten函数的同学早已猜到它是干嘛的了。比如gulp.src(‘*/.js’)匹配了俯拾便是文本,包涵a/b/c.js,d/e.js,f/g/h/i/j/k.js,l.js,这一个文件的层级都分裂,一旦我们将这一个文件pipe给$.flatten(),则有着的文书夹层级都会去掉,最终的文本将是c.js,e.js,k.js,l.js,在有个别现象下依旧越发有效的。

提拔一下:

JS/CSS自动注入

1.本人要好测试,不管tomcat是不是业已在劳务里,都能够任意卸载,不用停服务

gulp-replace

2。一定要利用管理员运转命令提醒符!!!!!(直接在运作里cmd的命令提醒符不负有管理员权限),必须去附属类小部件->命令提醒符 
右击 选中管理员运转。

gulp-rev 把静态文件名改成hash的花样。

 

gulp-rev-append 给页面引用的静态文件扩展hash后缀,幸免被浏览器缓存

功效如下:

"/css/base.css" => "/dist/css/base.css?v=1d87bebe"    
"/js/mod.js" => "/dist/mod.js?v=61e0be79"    
"g.png"  => "g.png?v=35c3af8134"

将tomcat绑定到固定jdk

gulp-rev-replace 合营 gulp-rev 使用,得到变化的 manifest。json 后替换对应的文件名称。

gulp-useref 与 gulp-rev、gulp-rev-replace

那八个工具之所以放在一起讲,是因为它们一般都以同步利用的。它们要解决什么难点吗?通过上边的wiredep也好,gulp-inject也好,插入了一堆JS、CSS文件到HTML中,一旦布署到生育条件,这么多文本必然是要联合压缩的。光是压缩还不够,为了消除缓存难题,每一趟合并压缩后要给最终的文本加hash,这样每一回文件内容一变动,hash也会跟着变动,就不存在浏览器照旧选拔缓存的老文件的难题。那样获得终极的文书从此,肯定还要将这几个文件替换回HTML中去,一大堆的script和link标签替换到最终合并压缩带hash的版本。

前方滔滔不绝的一大堆工作就是那八个插件要化解的题材了。首先,gulp-useref依照注释将HTML中要求联合压缩的区块找出来,对区块内的有所文件举办合并。注意:它只担负统一,不承担压缩!所以集合出来的文本我们要自行压缩,压缩现在调用gulp-rev负责在文件名后追加hash。末了调用gulp-rev-replace负责把最后的文书名更迭回HTML中去。扯了大半天,依然直接上例子吗。先来看看HTML中的注释:

<!-- build:css static/styles/lib.css -->
<!-- bower:css -->
<!-- endbower -->
<!-- endbuild -->
<!-- build:css static/styles/app.css -->
<!-- inject:css -->
<!-- endinject -->
<!-- endbuild -->
<!-- build:js static/js/lib.js -->
<!-- bower:js -->
<!-- endbower -->
<!-- endbuild -->
<!-- build:js static/js/app.js -->
<!-- inject:js -->
<!-- endinject -->
<!-- endbuild -->

gulp-useref识其余就是build伊始的笺注,build前边首先跟的是项目增添名,然后前边的门道就是build区块中的全体文件实行统一后的文书路径,这些相对路径是相对于这一个HTML的路子。上边包车型客车事例中我们用build区块把bower和inject进来的文件包起来,那么些文件就足以被gulp-useref合并了。再来看gulp中useref相关task的概念:

var assets = $.useref.assets({searchPath: 'app/src/'});
var cssFilter = $.filter('**/*.css');
var jsAppFilter = $.filter('**/app.js');
var jslibFilter = $.filter('**/lib.js');
return gulp
    .src('index.html')
    .pipe(assets)
    .pipe(cssFilter)
    .pipe($.csso())
    .pipe(cssFilter.restore())
    .pipe(jsAppFilter)
    .pipe($.uglify())
    .pipe(getHeader())
    .pipe(jsAppFilter.restore())
    .pipe(jslibFilter)
    .pipe($.uglify())
    .pipe(jslibFilter.restore())
    .pipe($.rev())
    .pipe(assets.restore())
    .pipe($.useref())
    .pipe($.revReplace())
    .pipe(gulp.dest('dist'));

先是一上来,先调用$.useref.assets()函数,这一个函数再次回到3个stream,包括已经联合后的文书。能够尝试在第⑦行前面加上前边介绍过的gulp-print插件.pipe($.print()),打字与印刷出stream里的文件,发现正是前面HTML中6个build注释块后边的五个文本。注意那里调用的时候跟了3个searchPath的参数,它的用途正是钦命从哪个路径始于寻找build区块底下的文书。比如build区块底下有诸如此类一行<script
src=”static/js/a.js”></script>,那最后gulp-useref将从那一个路径app/src/static/js/a.js找到那么些文件。第①到5行定义了3个filter,那重庆大学是为了后边压缩准备的。上面正式看stream的pipe流程。先选出要拍卖的HTML文件,然后调用刚才获得的assets获得统一后的五个公文,第九到12行筛选出合并后的CSS文件进行削减(压缩类插件下篇文章再讲),第叁3到16行筛选出app.js进行削减,第壹7到19行筛选出lib.js实行压缩。之所以要区分对待app.js和lib.js,是因为app.js是我们本身写的代码,压缩后要充足header(第③5行,使用前面介绍过的gulp-header插件),而lib.js是第二方的种种库,直接压缩即可。前边调用gulp-rev给减弱后的6个公文加hash,然后调用assets.restore()将src源换回HTML文件,那是为了前面调用$.useref(),因为$.useref()做替换的src源是HTML文件,同样前边调用gulp-rev-replace将带hash的文书替换回HTML,它供给的src源也亟须是HTML文件。那里的逐条很主要,因为那多少个插件接受的源分化,gulp-rev接受的是JS、CSS文件,而gulp-useref和gulp-rev-replace接受的是HTML。还有一个难题:gulp-rev-replace是怎么知道gulp-rev实行hash前后的公文名对应提到啊?其实gulp-rev会生成多少个manifest的文件,内容是看似上面包车型客车JSON:

{
    "static/styles/lib.css": "static/styles/lib-d41d8cd98f.css"
    "static/js/lib.js": "static/js/lib-273c2cin3f.js"
}

理所当然这一个文件暗中认可是不会转移在文件系统里的,能够经过.pipe($.rev.manifest())将那几个文件保留到本地。有了这几个文件,gulp-rev-replace甚至可以脱离gulp-rev独立工作啊!

考虑到java的盛行,客户电脑里很也许含有别的java产品,为幸免互相影响jdk或jre,故大家的产品的jdk不写入path或JAVA_HOME中,在设置进度中央直机关接

gulp-inject //文件的流入

民用精晓: 便是把 css,js全体运用那几个插件添加到 index.html
页面里,不必要手动去丰裕

<script src="../bower_components/jquery/dist/jquery.js"></script>
<link src="css/index.css"/>

<!-- inject:js -->  
<script src="scripts/app.js"></script>  
<!-- endinject -->  

将tomcat绑定到温馨产品目录的jdk

压缩

鉴于大家是开机自动方式运营tomcat,想想前面的一声令下

gulp-zip

[plain] view
plain copy

gulp-mini-css 压缩css使用的

 

gulp-mini-html

  1. service install tomcat7 & sc config tomcat7 start= auto   

gulp-useref 用uglify压缩js

url:https://www.npmjs.com/package/gulp-useref
说到优化的时候,大家供给想到:压缩,拼接。也正是压缩体量和HTTP次数。

开发者面临的第②难点是很难依据科学的各种合并文件。

<body>
  <!-- other stuff -->
  <script src="js/lib/a-library.js"></script>
  <script src="js/lib/another-library.js"></script>
  <script src="js/main.js"></script>
</body>

鉴于文件路径的的不等,使用 https://www.npmjs.com/package/gulp-concat
等插件相当不便。

幸甚的是, gulp-useref 消除了那一个题材。

gulp-useref会将三个公文拼接成单一文件,并出口到相应目录。

<!-- build:<type> <path> -->
... HTML Markup, list of script / link tags.
<!-- endbuild -->

可以是js,css,大概remove。假若你设为remove,居尔p将不会转移文书。

点名产出路径。

我们想最终出现main.min.js。能够那样写:

<!--build:js js/main.min.js -->
<script src="js/lib/a-library.js"></script>
<script src="js/lib/another-library.js"></script>
<script src="js/main.js"></script>
<!-- endbuild -->

劳务运行从service.bat
初阶的,在探视service.bat文件,显著在文件开头加入:

gulp-uglify //压缩、混淆js文件用的

 

着力使用

var gulp = require('gulp'),
    uglify = require('gulp-uglify');

gulp.task('jsmin', function () {
    gulp.src('src/js/index.js')
        .pipe(uglify())
        .pipe(gulp.dest('dist/js'));
});

 

减去多少个js文件

var gulp = require('gulp'),
    uglify = require('gulp-uglify');

gulp.task('jsmin', function () {
    gulp.src(['src/js/index.js','src/js/detail.js']) //多个文件以数组形式传入
        .pipe(uglify())
        .pipe(gulp.dest('dist/js'));
});

[plain] view
plain copy

匹配符“!”,“”,“*”,“{}”

var gulp = require('gulp'),
    uglify= require('gulp-uglify');

gulp.task('jsmin', function () {
    //压缩src/js目录下的所有js文件
    //除了test1.js和test2.js(**匹配src/js的0个或多个子文件夹)
    gulp.src(['src/js/*.js', '!src/js/**/{test1,test2}.js']) 
        .pipe(uglify())
        .pipe(gulp.dest('dist/js'));
});

 

钦定变量名不混淆改变

var gulp = require('gulp'),
    uglify= require('gulp-uglify');

gulp.task('jsmin', function () {
    gulp.src(['src/js/*.js', '!src/js/**/{test1,test2}.js'])
        .pipe(uglify({
            //mangle: true,//类型:Boolean 默认:true 是否修改变量名
            mangle: {except: ['require' ,'exports' ,'module' ,'$']}//排除混淆关键字
        }))
        .pipe(gulp.dest('dist/js'));
});
  1. set JAVA_HOME=D:\common\jdk1.6.0_10  
  2. set JRE_HOME=D:\common\jdk1.6.0_10\jre  

gulp-uglify其余参数 实际参看

var gulp = require('gulp'),
    uglify= require('gulp-uglify');

gulp.task('jsmin', function () {
    gulp.src(['src/js/*.js', '!src/js/**/{test1,test2}.js'])
        .pipe(uglify({
            mangle: true,//类型:Boolean 默认:true 是否修改变量名
            compress: true,//类型:Boolean 默认:true 是否完全压缩
            preserveComments: 'all' //保留所有注释
        }))
        .pipe(gulp.dest('dist/js'));
});

上面是个例证,你换来自身的目录即可

gulp-css-base64

把小图片的U智跑L替换为Base64编码图片。

 

gulp-imagemin 压缩图片

减去图片文件(包蕴PNG、JPEG、GIF和SVG图片)
github:https://github.com/sindresorhus/gulp-imagemin

如图:

骨干选用

var gulp = require('gulp'),
    imagemin = require('gulp-imagemin');

gulp.task('testImagemin', function () {
    gulp.src('src/img/*.{png,jpg,gif,ico}')
        .pipe(imagemin())
        .pipe(gulp.dest('dist/img'));
});

金沙注册送58 2

gulp-imagemin别的参数 实际参看

var gulp = require('gulp'),
    imagemin = require('gulp-imagemin');

gulp.task('testImagemin', function () {
    gulp.src('src/img/*.{png,jpg,gif,ico}')
        .pipe(imagemin({
            optimizationLevel: 5, //类型:Number  默认:3  取值范围:0-7(优化等级)
            progressive: true, //类型:Boolean 默认:false 无损压缩jpg图片
            interlaced: true, //类型:Boolean 默认:false 隔行扫描gif进行渲染
            multipass: true //类型:Boolean 默认:false 多次优化svg直到完全优化
        }))
        .pipe(gulp.dest('dist/img'));
});

红线代表tomcat运行的jdk和jre的目录

深度压缩图片

var gulp = require('gulp'),
    imagemin = require('gulp-imagemin'),
    //确保本地已安装imagemin-pngquant [cnpm install imagemin-pngquant --save-dev]
    pngquant = require('imagemin-pngquant');

gulp.task('testImagemin', function () {
    gulp.src('src/img/*.{png,jpg,gif,ico}')
        .pipe(imagemin({
            progressive: true,
            svgoPlugins: [{removeViewBox: false}],//不要移除svg的viewbox属性
            use: [pngquant()] //使用pngquant深度压缩png图片的imagemin插件
        }))
        .pipe(gulp.dest('dist/img'));
});

 

只压缩修改的图片。

压缩图片时相比耗费时间,在许多意况下大家只修改了一点图片,没有须要收缩全体图片,使用”gulp-cache”只减掉修改的图片,没有改动的图纸直接从缓存文件读取(C:\Users\Administrator\AppData\Local\Temp\gulp-cache)。

var gulp = require('gulp'),
    imagemin = require('gulp-imagemin'),
    pngquant = require('imagemin-pngquant'),
    //确保本地已安装gulp-cache [cnpm install gulp-cache --save-dev]
    cache = require('gulp-cache');

gulp.task('testImagemin', function () {
    gulp.src('src/img/*.{png,jpg,gif,ico}')
        .pipe(cache(imagemin({
            progressive: true,
            svgoPlugins: [{removeViewBox: false}],
            use: [pngquant()]
        })))
        .pipe(gulp.dest('dist/img'));
});

在意:它只担负统一,不负责压缩

补充一下,如果您是双击startup.bat,运转tomcat,要想绑定固定jdk,只要在setclasspath.bat文件开端出席地点的讲话。

编译

环境:win7  tomcat7 

gulp-sass 编译sass用的

 

gulp-sourcemaps 编译sass时生成额外的.map文件用的

开机自运维:

代码分析

使用管理员打开命令提醒符,进入tomcat7目录,运营 

gulp-eslint

 

工具

[plain] view
plain copy

gulp-load-plugins 模块化管理。能够加载package.json文件中有所的gulp模块

 

gulp-autoprefixer 自动添加css前缀

  1. service remove tomcat7 & service install tomcat7 & sc config tomcat7 start= auto   

基本用法

var gulp = require('gulp'),
    autoprefixer = require('gulp-autoprefixer');

gulp.task('testAutoFx', function () {
    gulp.src('src/css/index.css')
        .pipe(autoprefixer({
            browsers: ['last 2 versions', 'Android >= 4.0'],
            cascade: true, //是否美化属性值 默认:true 像这样:
            //-webkit-transform: rotate(45deg);
            //        transform: rotate(45deg);
            remove:true //是否去掉不必要的前缀 默认:true 
        }))
        .pipe(gulp.dest('dist/css'));
});

&是统一多条语句,start=
和auto之间有个空格

gulp-autoprefixer的browsers参数详解

  • last 2 versions: 主流浏览器的风靡多个版本
  • last 1 Chrome versions: 谷歌(谷歌)浏览器的新式版本
  • last 2 Explorer versions: IE的新型八个本子
  • last 3 Safari versions: 苹果浏览器最新多少个本子
  • Firefox >= 20: 火狐浏览器的版本大于或等于20
  • iOS 7: IOS7版本
  • Firefox ESEnclave: 最新ES凯雷德版本的银狐
  • 5%: 全世界总结有超过常规5%的使用率

 

gulp-gh-pages 使用gulp来把markdown生成html文档并上传到git pages上

唤醒一下:

chalk

1.自个儿要好测试,不管tomcat是还是不是早已在服务里,都足以无限制卸载,不用停服务

del 清除文件

2。一定要利用管理员运维命令提示符!!!!!(直接在运作里cmd的命令提示符不抱有管理员权限),必须去附件->命令提醒符 
右击 选中管理员运营。

gulp-plumber

gulp
的错误处理有点坑,倘若爆发错误进程就挂了。相对的解决办法不少,不过那一个是笔者个人相比推荐的,比特么在不难失误的地点写错误监听可靠。所以这么些插件能够阻止
gulp 插件发生错误导致进度退出并出口错误日志。

 

estraverse 遍历函数

将tomcat绑定到固定jdk

gulp-prompt 将交互式控制台提示添加到gulp

设想到java的流行,客户电脑里很可能带有别的java产品,为防止互相影响jdk或jre,故大家的制品的jdk不写入path或JAVA_HOME中,在安装进度中央直机关接

gulp-protractor

将tomcat绑定到祥和产品目录的jdk

gulp-rename 修改文件名称。比如偶尔大家必要把app.js改成app.min.js,弹指间高等了

是因为大家是开机自动形式运维tomcat,想想前边的授命

gulp-shell

[plain] view
plain copy

gulp-size 显示你的类其余范畴

 

gulp-util

gulp-util带有很多利于的函数,个中最常用的相应正是log了。$.util.log()帮助传入几个参数,打字与印刷结果会将多少个参数用空格连接起来。它与console.log的区分正是独具$.util.log的结果会自行带上时间前缀。此外,它还帮助颜色,如$.util.log($.util.colors.magenta(‘123’));打字与印刷出来的123是品士林蓝的。其实$.util.colors正是一个chalk的实例,而chalk是专门用来处理命令行打字与印刷着色的1个工具。

  1. service install tomcat7 & sc config tomcat7 start= auto   

http-proxy-middleware

劳务运行从service.bat
开头的,在探视service.bat文件,显著在文书发轫出席:

lodash

 

main-bower-files

 

uglify-save-license

[plain] view
plain copy

wiredep

wiredep就是wire
dependence的情趣,它的功力正是把bower.json中扬言的dependence自动的隐含到HTML中去。
要插入文件,wiredep供给缓解八个难点:

安顿的地方:wiredep通过辨认HTML中的注释来辨别插入地点,如

<!-- bower:css -->
<!-- endbower -->
<!-- bower:js -->
<!-- endbower -->

不等档次的文书被插入到分歧的区块。

安顿什么文件:要插入的文件列表自然来自bower.json,每一个bower安装的依赖库,根目录上边都有一个融洽的bower.json文件,在那之中的main字段指明了利用那么些库须求包涵的文件,wiredep最后包罗的文件列表就来自那一个字段。有个别情形下,库本人的bower.json的main字段恐怕会多带有文件或少包罗文件,假诺想要定制那些列表,则能够在温馨的bower.json中应用overrides字段,如下边包车型地铁代码覆盖了mdi那些库的main字段。

"overrides": {
  "mdi": {
    "main": [
      "css/materialdesignicons.css"
    ]
  }
},

wiredep插件协助广大参数,常用的根本有七个:

bowerJson:钦定bower.json的情节,注意那么些字段不是bower.json文件的职位,那些参数供给选拔require后的结果赋值:require(‘bower.json’)。
directory:钦定期存款放bower安装后的注重性包的途径,平常是bower_components。注意最终插入到HTML中的文件列表的门道是index.html文件相对于本文件夹的绝对路径。
使用wiredep也相比较不难,直接把它传到到stream中即可,如gulp.src(‘index.html’).pipe(wiredep(options))。

 

gulp-order 对src中的文件依据内定顺序进行排序

地点整理,留作备份。

  1. set JAVA_HOME=D:\common\jdk1.6.0_10  
  2. set JRE_HOME=D:\common\jdk1.6.0_10\jre  

地方是个例证,你换到温馨的目录即可

 

如图:

金沙注册送58 3

红线代表tomcat运转的jdk和jre的目录

 

补充一下,要是您是双击startup.bat,运维tomcat,要想绑定固定jdk,只要在setclasspath.bat文件起先加入地点的口舌。

相关文章

网站地图xml地图