所以我有一个简单的用例,它看起来与https://github.com/jonkemp/gulp-useref的自述文件中描述的用例非常相似。
我试图在构建过程中生成一个包含所有Angular模板的templates.js文件。我正试图这样做,而不是在我的本地项目有一个模板。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>
坐在我的索引文件,试图帮助它。
还有人在做同样的事情吗?似乎是一个常见的用例。
通过仔细查看测试用例,我能够使其工作。我现在有一个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中添加了这个不存在的文件。