Javascript 在angular/typescript npm包中使用templateUrl而不是内联模板

Javascript 在angular/typescript npm包中使用templateUrl而不是内联模板,javascript,angularjs,node.js,npm,Javascript,Angularjs,Node.js,Npm,我有自己的NGM模块,通过npm发布和安装。当前,导入模块中组件的模板具有内联模板。随着时间的推移,模板变得越来越大(200+LOC),在组件中使用templateUrl而不是内联模板会更好 因此,与此相反: template: `<h1>My template</h1>`, 如果模块/组件是通过node_模块导入的,则以下文章中解释的所有解决方案都不起作用 我知道有一些使用gulp包的解决方案,可以解析路径并将模板作为内联字符串,但是还有其他解决方案吗 编辑(添加更多

我有自己的NGM模块,通过npm发布和安装。当前,导入模块中组件的模板具有内联模板。随着时间的推移,模板变得越来越大(200+LOC),在组件中使用templateUrl而不是内联模板会更好

因此,与此相反:

template: `<h1>My template</h1>`,
如果模块/组件是通过node_模块导入的,则以下文章中解释的所有解决方案都不起作用

我知道有一些使用gulp包的解决方案,可以解析路径并将模板作为内联字符串,但是还有其他解决方案吗

编辑(添加更多代码示例):


模板与ts文件位于同一目录中。如果我将目录从node_modules/my package/my component移动到src/app/

中的任意位置,它就可以工作了。你能发布更多代码吗?(一个组件示例就足够了)组件逻辑可以为空。它实际上只是npm组件中的模板url。如果您将组件从node_modules文件夹复制到您的src/app,而不更改一行,则该组件可以工作。如果您要使用相对路径,则必须在@Component decorator中设置
module:module.id
,否则Angular 2将在根级别查找您的文件我正在使用webpack。如果我使用
module:module.id
应用程序将不会以错误
error:moduleId应该是MyModule中的字符串启动。是的,您是对的,Angular正在查看文件的根级别,所以您可以分享一个组件的简短示例吗?如果没有代码可看,我真的很难想出任何解决方案。
templateUrl: './my-template.html'
import {Component} from '@angular/core';

@Component({
    selector: 'my-component',
    templateUrl: './my-template.html'
})
export class MyComponent {
    constructor() {
    }
}