如何解决module.id应该是使用webpack2的字符串错误

Jul*_*ano 9 webpack-2 angular

所以我在一个Angular2项目上使用webpack2,该项目有几个外部依赖项.其中一些依赖项使用commonjs并声明如下组件:

@Component({
    moduleId: module.id,
    templateUrl: 'mycomponent.html'
    ...
})
Run Code Online (Sandbox Code Playgroud)

这会导致以下错误:

Error: moduleId should be a string in "MyComponent"
Run Code Online (Sandbox Code Playgroud)

经过一些研究,我发现这是因为Webpack期望组件将id作为数字,而Angular将其声明为字符串.我无法更改依赖关系代码.我能做些什么才能忍受这种依赖?

谢谢!

Jul*_*ano 5

所以这就是我现在要忍受这种依赖的办法。使用字符串替换加载程序为我删除该行:

{
    test: /.*node_modules\/my-dependency-folder\/.*\.js/,
    loader: 'string-replace-loader',
    query: {
        search: 'moduleId: module.id,',
        replace: ''
    }
}
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助遇到同样问题的人。