gpt4 book ai didi

javascript - grunt-angular-templates 将模板写入单独的文件中

转载 作者:行者123 更新时间:2023-11-27 23:46:45 24 4
gpt4 key购买 nike

我在我的应用程序中使用 ng-templates 和 usemin,我想将我的 Angular 模板写入一个单独的文件中,因此我在我的 .html 文件中创建了一个 usemin block 引用它,像这样:

<!-- build:js(.) scripts/templates.js -->
<!-- endbuild -->

我使用以下选项配置了 ngTemplates 任务:

ngtemplates: {
dist: {
cwd: '<%= yeoman.app %>',
src: ['**/*.html'],
dest: '.tmp/templateCache.js',
options: {
module: 'myTemplateModule',
htmlmin: '<%= htmlmin.dist.options %>',
usemin: 'scripts/templates.js'
},
}
}

但我刚刚发现 scripts/templates.js 文件没有创建,可能是因为 html 构建 block 是空的,所以模板不会写入文件中。

任何有关如何完成这项工作的建议都会很好。

最佳答案

您按什么顺序调用任务?我发现 ngtemplateusemin 选项只有在 useminPrepare 任务之后调用它才有效,但在调用任何 usemin 生成的任务之前。 IE。你的任务应该类似于:

grunt.registerTask('build', [
//preliminary tasks...

'useminPrepare'
//unrelated tasks...
'ngtemplates'
//unrelated tasks...
'concat:generated'
//etc.

])

这样做会生成模板文件,但 usemin 不会将其插入到最终的 html 中,除非 block 中至少有一个文件。我建议将包含模板模块声明的文件放在 block 引用中,如下所示:

<!-- build:js(.) scripts/templates.js -->
<script src="path/to/module/templates.module.js"/>
<!-- endbuild -->

关于javascript - grunt-angular-templates 将模板写入单独的文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33104420/

24 4 0