所以我在一个Angular2项目上使用webpack2,该项目有几个外部依赖项。其中一些依赖项使用commonjs并声明如下组件:
@Component({
moduleId: module.id,
templateUrl: 'mycomponent.html'
...
})
这会导致以下错误:
Error: moduleId should be a string in "MyComponent"
经过一番研究,我发现这是因为Webpack期望组件将id作为数字,而Angular将其声明为字符串。我无法更改依赖关系代码。我能做些什么才能忍受这种依赖?
谢谢!
答案 0 :(得分:3)
所以,我现在想要接受这种依赖。使用字符串替换加载程序为我删除该行:
{
test: /.*node_modules\/my-dependency-folder\/.*\.js/,
loader: 'string-replace-loader',
query: {
search: 'moduleId: module.id,',
replace: ''
}
}
希望这可以帮助有同样问题的人。
答案 1 :(得分:0)
删除行
moduleId: module.id,
有效。