在grunt-concat构建步骤中包含动态生成的文件名
Include dynamically generated filenames in grunt-concat build step
作为Grunt构建的一部分,我们正在将一些typescript代码编译到几个单独的文件中,然后将生成的javascript与所有其他javascript代码连接起来。不幸的是,我不能让文件名的动态累积与grunt-concat一起工作。
这是我们的Gruntfile中的相关片段——参见generatedTypeScriptFiles
的部分,它不起作用。
var jsfiles = [
'js/external_libraries/inherit.js',
'js/external_libraries/modernizr.js',
'js/baz.js'
];
grunt.initConfig({
gitinfo : {}, //will be populated with values from Git
options : {
"packageName" : nconf.get("name"),
"frameworkVersion" : nconf.get("version"),
"frameworkOutputPath" : nconf.get("frameworkOutputPath"),
"workerOutputPath" : nconf.get("workerOutputPath"),
"sourceMapPath" : nconf.get("sourceMapPath")
},
typescript : {
foo: {
src : ['js/Foo/*.ts'],
dest : 'generated/Foo.js',
},
bar : {
src : ['js/Bar/*.ts'],
dest : 'generated/Bar.js',
}
},
generatedTypeScriptFiles : {
all : function () {
var tsf = [];
for (var key in this.typescript) {
if(this.typescript[key].dest) {
tsf.push(this.typescript[key].dest);
}
}
return tsf;
}()
},
scriptfiles : {
hybrid : function () {
return jsfiles.concat('<%= generatedTypeScriptFiles.all %>');
}(),
web : function () {
return jsfiles.concat('<%= generatedTypeScriptFiles.all %>');
}()
}
concat : {
web : {
options : {
separator : ';',
},
src : '<%= scriptfiles.web %>',
dest : '<%= options.frameworkOutputPath %>'
}
}
}
我猜,对于我们的情况,我们实际上知道所有的结果文件名在我们的typescript构建步骤,我们可以只是建立文件名事先- grunt.initConfig
之外。这应该能解决问题,对吧?还是有别的办法?
也许我误解了问题或您想做的事情,但为什么不从"生成"目录中全局化所有.js文件呢?这样的:
var jsfiles = [
'js/external_libraries/inherit.js',
'js/external_libraries/modernizr.js',
'js/baz.js',
'generated/*.js'
];
grunt.initConfig({
typescript : {
foo: {
src : ['js/Foo/*.ts'],
dest : 'generated/Foo.js',
},
bar : {
src : ['js/Bar/*.ts'],
dest : 'generated/Bar.js',
}
},
concat : {
web : {
options : {
separator : ';',
},
src : jsFiles,
dest : '<%= options.frameworkOutputPath %>'
}
}
});
相关文章:
- 无法从 jQuery RSS Feed 中的 localStorage 动态替换类
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 动态分配GA增强型电子商务跟踪器
- onkeyup无法动态创建多个文本区域
- 使用javascript将动态表从一个html页面打印到另一个html页
- 如何使Javascript动态html表及其上的事件
- 动态地改变“”的URL;添加新项目”;链接使用javascript/jquery
- 如何将动态文件名传递给ng-include
- 将行文件名动态到文本框中
- 使用 UTF-8 和具有动态 CSV 文件名的 /uFEFF 在 JavaScript 中导出 CSV
- j查询数据表 导出按钮 动态文件名和标题
- Node.JS - 如何在 JS 中对动态文件名执行验证
- 如何在ajax调用中给出动态json文件名作为url
- 下面类似html5 mp3player代码的动态地址和未知文件名
- AngularJS的动态文件名显示JSHint错误
- 如何做多渲染与Node.js, EJS模板和动态文件名
- 在grunt-concat构建步骤中包含动态生成的文件名
- ruby on rails-使用Javascript动态更改imagetag文件名
- 具有父目录和当前文件名的动态href
- Gulp dest()基于文件名的动态目标文件夹