Angular Hybrid,如何加载templateUrl的

时间:2018-02-01 21:18:02

标签: angularjs angular webpack webpack-dev-server hybrid

我有一个AngularJS / Angular混合版本。对于templateUrl,我正在使用AngularJS的ngtemplate-loader和Angular的angular2-template-loader。我遇到的问题是根据Angular版本加载正确的模板。我可以通过命名约定来区分html。 AngularJS文件是fileName.html,而Angular文件是fileName.component.html。

对于ngtemplate-loader我有:

{
    test: /\.(html)$/,
    exclude: [/\.(^(?!.*\.component\.html).*.html$)/],
    use: [{
        loader: 'ngtemplate-loader',
        options: {
            prefix: '/',
            relativeTo: path.resolve(__dirname, './path/to/templates')
        }
    }, {
        loader: 'html-loader'
    }],
}

对于angular2-template-loader我有:

{
    test: /\.ts$/,
    exclude: path.resolve(__dirname, "node_modules"),
    loaders: [ 'ts-loader', 'angular2-template-loader']
}

我怎样才能在匹配.component.html

时触摸templateUrl

我试过没用好运这个表达式。

/\.(component\.html)$/

1 个答案:

答案 0 :(得分:0)

如果您使用webpack,请查看此存储库https://github.com/Zadvornyi/angular-hybrid-webpack

@Component({
    selector: 'ahw-accounts',
    styles: [require('./ahw-accounts.component.scss').toString()],
    templateUrl: './ahw-accounts.component.html'
})