gpt4 book ai didi

gruntjs - 使用 gruntjs 合并和缩小所有 bower 库

转载 作者:行者123 更新时间:2023-12-04 10:00:06 28 4
gpt4 key购买 nike

有没有办法自动将所有 bower 安装的库合并和缩小到 1 个文件中?

首先我尝试了最基本的方法:结合所有 .js来自所有子目录的文件:

uglify: {
options: {compress: true},
my_target: { files: {
'vendor.js': ['bower_components/**/*.js'],
} } }

但这显然是一种不好的做法。由于错误太多,它也不起作用。

我手动删除了所有文件,只保留了每个库拥有的 1 个(主)文件,并且它工作正常。

有没有办法自动完成这一切?

另外,是否建议这样做? (即将所有供应商库合并到 1 个文件中)

最佳答案

我推荐两个不错的 grunt 库的组合,Wiredep 和 Usemin:

Wiredep:自动加载 html 中 bower.json 中标识的所有 bower 依赖项

Usemin:检测两个注释标签内的所有 src,所有源都被缩小并连接到 dist 文件夹中,下面是使用这个包的 grunt 文件的一个小例子,基于 angular to yeoman 的生成器,这只是一个简短的说明咕噜声

咕噜声

    wiredep: {
options: {
cwd: 'appFolder'
},
app: {
src: ['htmlCollections'],
ignorePath: /\.\.\//
}
},

useminPrepare: {
html: 'htmlCollections',
options: {
dest: 'distributionFolder',
flow: {
html: {
steps: {
js: ['concat', 'uglifyjs'],
css: ['cssmin']
},
post: {}
}
}
}
},

usemin: {
html: ['distributionFolder+HtmlFiles'],
css: ['distributionFolder+cssFiles'],
js: ['distributionFolder+javascriptFiles']
}

HTML
<!doctype html>
<html lang="en" ng-app="MobileDev" id="ng-app">
<head>
<!-- build:css(app) styles/vendor.css -->
<!-- bower:css -->
//This gonna be generated for the grunt by dependencies in bower
<!-- endbower -->
<!-- endbuild -->

<!-- build:css(.tmp) styles/main.css -->
//All the script inside this gonna be concatened and minified in
//the dist folder by the name of main.css
<link type="text/css" rel="stylesheet" href="styles/app.css"/>
<!-- endbuild -->
</head>

<body>
<!-- build:js(app) scripts/vendor.js -->
<!-- bower:js -->
//This gonna be generated for the grunt by dependencies in bower
//And in distribution all bower components added gonna be minified by usemin in
//vendor.js
<!-- endbower -->
<!-- endbuild -->

<!-- build:js({.tmp,app}) scripts/scripts.js -->
//All the script inside this gonna be concatened and minified in the dist
//folder by the name of scripts.js
<script type="text/javascript" src="scripts/numero1"></script>
<script type="text/javascript" src="scripts/numero2"></script>
<!-- endbuild -->

</body>

关于gruntjs - 使用 gruntjs 合并和缩小所有 bower 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25322326/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com