所以我有一个简单的用例,它看起来非常类似于https://github.com/jonkemp/gulp-useref自述文件中描述的用例。
我尝试在构建期间生成包含所有Angular模板的templates.js文件。我试图这样做,并在我的本地项目中没有templates.js文件。因此,我们的想法是将模板流的输出合并到useref流中,以便生成的scripts.js
文件包含我的索引文件中指示的所有文件以及生成的templates
输出。
这是我在gulp任务中所拥有的:
gulp.task('usemin:dist', ['clean:dist'], function() {
var templatesStream = gulp.src([
'./app/**/*.html',
'!./app/index.html',
'!./app/404.html'
]).pipe(templateCache({
module: 'myCoolApp'
}));
var assets = $useref.assets({
additionalStreams: [templatesStream]
});
return gulp.src('./app/index.html')
.pipe(assets)
.pipe(assets.restore())
.pipe($useref())
.pipe(gulp.dest('./dist/'));
});
现在这应该允许我合并templatesStream的输出并将其全部转换为一个scripts.js
文件,我认为......
我还尝试在我的索引文件中使用<script src="scripts/templates.js"></script>
多种表单来尝试和协助它。似乎没有用。
其他人在做同样的事吗?似乎是一个常见的用例。
答案 0 :(得分:2)
通过仔细查看测试用例,我能够使用它。
我现在在templates.js
文件上有一个index.html
脚本标记,在我的本地环境中将为404。
我的gulp任务看起来像这样:
gulp.task('useref:dist', ['clean:dist'], function() {
var templateStream = gulp.src([
'./app/**/*.html',
'!./app/index.html',
'!./app/404.html'
]).pipe(templateCache({
module: 'digitalWorkspaceApp'
}));
var assets = $useref.assets({
additionalStreams: [templateStream]
});
var jsFilter = $filter('**/*.js', {restore: true});
return gulp.src('./app/index.html')
.pipe(assets)
.pipe($useref())
.pipe(gulp.dest('./dist/'));
});
我立刻无法看到差异,但它可能都取决于我在index.html中添加这个不存在的文件。