在编译时内联Angular2模板和样式表

时间:2016-01-13 23:22:33

标签: angular

我喜欢为模板和样式分别创建文件,但是编译器是否可以让编译器内联它们?我想尽可能使用相对路径,但我知道现在不支持SystemJS。此外,在编译时内联模板和样式将减少必须下载的文件数。

2 个答案:

答案 0 :(得分:1)

要内联html模板,我建议您查看: gulp-angular-embed-templates

我目前正在使用angular2项目并且效果很好。不要以为你可以申请相对路径。这是一个gulp片段:



var embedTemplates = require('gulp-angular-embed-templates');
gulp.task('compile:JsWithEmbededHtml', function () {
    return gulp.src('./wwwroot/app/**/*.js')
        .pipe(embedTemplates({
            minimize: {
                quotes: true,
                dom: {
                    xmlMode: true,
                    lowerCaseAttributeNames: false,
                    lowerCaseTags: false
                }
            },
            basePath: "wwwroot"
        }))
        .pipe(gulp.dest('./wwwroot/app'));
});




对于嵌入css,有 gulp-angular2-embed-sass ,其灵感来自gulp-angular-embed-templates。我还没有尝试过后一个插件,但值得一看。

答案 1 :(得分:0)

您是否正在使用像gulp或grunt这样的任务运行器?

我使用gulp并且我对此工具运气不错: https://www.npmjs.com/package/gulp-angular-templatecache

Grunt替代方案: https://www.npmjs.com/package/grunt-angular-templates

这些会使用script directive

将所有模板连接到一个模块中