Grunt Task Runner连接文件
Grunt Task Runner to concatenate files
我正在编写grunt来动态连接文件,为此我在grunt.config变量中有一个文件数组。如何在grunt concat中使用它。
我正在从动态文本替换函数中编写grunt.config('jsResources', targetConfig);
。它作为数组返回。如何在grunt concat中使用它。我试过这种方法,但不值得。
我的jsResources
是数组。我的咕哝声就像
concat: {
js: {
//Concatenate all of the files in the jsResources configuration property
src: ['app/<%= jsResources %>'],
dest: 'build/views/js/combined.js',
options: {
separator: ';'n'
}
}
}
它重新分解内容,但无法读取内容,并在我的combine.js中连接我的"jsResources"类似于['scripts/modules/allModules.js','scripts/config/constants.js','...']
,它正在创建空文件combine.js
。
所以我又尝试了一次,结果是:
在将路径放入模板化变量之前,需要先生成路径。模板变量这里是对象,但可以是任何有效的js
详细信息。在它内部,您可以设置将数组作为值的属性。
module.exports = function(grunt) {
var myFiles = {
jsResources: ['file1.js', 'file2.js']
};
myFiles.jsResources = myFiles.jsResources.map(function(item) { return 'app/' + item; });
// var jsres = myFiles.jsResources; // another way
grunt.initConfig({
// myFiles: myFiles, // this is also possible instead of grunt.config() below
concat: {
dist: {
src: ['<%= myFiles.jsResources %>'], // src: ['<%= jsres %>'],
dest: 'dest.js',
},
options: {
separator: ''n'
}
}
});
grunt.config('myFiles', myFiles);
// grunt.config('jsres', jsres); // another way
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.registerTask('default', ['concat:dist']);
};
这将生成带有内容的dest.js
。
expand
/cwd
选项,如下所示:
grunt.initConfig({
jsDir: 'app',
jsResources: [ 'one.js', 'two.js' ],
concat: {
app: {
expand: true,
cwd: '<%= jsDir %>',
src: ['<%= jsResources %>'],
dest: 'dest.js',
rename: function (dest) { return dest; }
}
}
});
请注意,expand: true
通常用于具有动态src/dest映射,通常具有多个src/dest对(而不是grunt-contrib-concat
所要求的映射到单个目的地的源数组)。但是,在这种情况下,它可以与rename
选项(此处简要介绍)一起使用,以实现您想要的功能。
这是一种技巧性的方法,但它具有声明性(Grunt风格)的优势,并且它允许配置工作目录(正如我在上面使用jsDir
所示)。
相关文章:
- 如何将所有JS文件连接到一个文件夹中
- 什么's是连接供应商js文件的最佳方式
- Tabrisjs无法建立连接包.json文件
- Javascript/webpack:如何用自定义的文件循环连接目录中的所有json文件
- 如何通过子进程连接Java应用程序后在node.js中编写文件
- 如何在从外部连接时将外部文件包含到node-js项目中
- 跨文件连接阵列
- JS和CSS文件连接工具
- 使用 grunt requirejs 与单个大型缩小文件连接缓慢时加载问题
- 你可以使用gulp根据文件的父文件夹将文件连接在一起吗
- 将gullow流与一个文件连接起来,然后重新保存到磁盘
- 将wiredep返回的所有文件连接到一个文件中
- 将js文件连接到单个文件时删除modules.exports
- 将javascript文件连接在一个文件下
- Gulp -使用少量JS文件连接watchify的结果
- JavaScript文件连接失败
- 将一组文件(动态地)与一个静态文件连接/最小化
- 使用 gulp-htmlbuild 而不将所有文件连接成一个文件
- 无法使用——out将typescript模块(.ts)文件连接到单个输出(.js)中
- 将javascript按钮与PHP文件连接