Webpack 找不到模块'@角度/通用/http';在Angular 5中,ASP.NETCore2.0&;网页包

Webpack 找不到模块'@角度/通用/http';在Angular 5中,ASP.NETCore2.0&;网页包,webpack,angular5,asp.net-core-2.0,Webpack,Angular5,Asp.net Core 2.0,我在Visual Studio 2017社区中使用ASP.NET core 2.0、angular 5.2.9和Webpack制作了一个应用程序。但是当尝试从'@angular/common/http'导入HttpClientModule'时,intellisence中出现错误-“找不到模块'@angular/common/http'”。怎么办 实际上,从“@angular/http”导入不会引发任何在angular 4.3.0之前出现的错误,但在angular 4.3.0之后(当前版本为5.2

我在Visual Studio 2017社区中使用ASP.NET core 2.0、angular 5.2.9和Webpack制作了一个应用程序。但是当尝试从'@angular/common/http'导入HttpClientModule'时,intellisence中出现错误-“找不到模块'@angular/common/http'”。怎么办

实际上,从“@angular/http”导入不会引发任何在angular 4.3.0之前出现的错误,但在angular 4.3.0之后(当前版本为5.2.9),从“@angular/common/http”导入应该可以工作。我必须用webpack做些什么吗

下面是my package.json:-

{
“名称”:“MyApp”,
“版本”:“0.0.0”,
“许可证”:“麻省理工学院”,
“脚本”:{
“ng”:“ng”,
“开始”:“ng发球”,
“构建”:“ng构建”,
“测试”:“ng测试”,
“皮棉”:“ng皮棉”,
“e2e”:“ng e2e”,
“postinstall”:“webpack--config webpack.config.vendor.js”
},
“私人”:没错,
“依赖项”:{
“@angular/cli”:“1.7.3”,
“@angular/compiler cli”:“^5.0.0”,
“@angular/language service”:“^5.0.0”,
“@types/jasmine”:“~2.8.6”,
“@types/jasminewd2”:“~2.0.2”,
“@types/node”:“~9.4.7”,
“codelyzer”:“~4.2.1”,
“茉莉花芯”:“~3.1.0”,
“jasmine spec reporter”:“~4.2.1”,
“因果报应”:“~2.0.0”,
“卡玛铬发射器”:“~2.2.0”,
“karma cli”:“~1.0.1”,
“因果报应报道伊斯坦布尔记者”:“^1.2.1”,
“因果报应茉莉”:“~1.1.0”,
“karma jasmine html reporter”:“^1.0.0”,
“量角器”:“~5.3.0”,
“ts节点”:“~5.0.1”,
“tslint”:“~5.9.1”,
“类型脚本”:“~2.7.2”,
“@angular/animations”:“^5.0.0”,
“@angular/common”:“^5.0.0”,
“@angular/compiler”:“^5.0.0”,
“@angular/core”:“^5.0.0”,
“@angular/forms”:“^5.0.0”,
“@angular/http”:“^5.0.0”,
“@angular/platform浏览器”:“^5.0.0”,
“@angular/platform browser dynamic”:“^5.0.0”,
“@angular/platform server”:“^5.0.0”,
“@angular/router”:“^5.0.0”,
“@ngtools/webpack”:“1.10.2”,
“@types/webpack env”:“1.13.5”,
“angular2模板加载器”:“0.6.2”,
“aspnet预渲染”:“^3.0.1”,
“aspnet网页包”:“^2.0.1”,
“很棒的typescript加载程序”:“4.0.1”,
“引导”:“4.0.0”,
“css”:“2.2.1”,
“css加载器”:“0.28.11”,
“es6垫片”:“0.35.3”,
“事件源polyfill”:“0.0.12”,
“公开加载程序”:“0.7.5”,
“提取文本网页包插件”:“3.0.2”,
“文件加载器”:“1.1.11”,
“html加载程序”:“0.5.5”,
“同构提取”:“2.2.1”,
“jquery”:“3.3.1”,
“json加载程序”:“0.5.7”,
“预引导”:“6.0.0-beta.3”,
“原始装载机”:“0.5.1”,
“反映元数据”:“0.1.12”,
“rxjs”:“5.5.7”,
“样式加载器”:“0.20.3”,
“到字符串加载器”:“1.1.5”,
“url加载器”:“1.0.1”,
“网页包”:“4.1.1”,
“webpack热中间件”:“2.21.2”,
“网页合并”:“4.1.2”,
“zone.js”:“0.8.20”
},
“依赖性”:{
“@angular/cli”:“1.7.3”,
“@angular/compiler cli”:“^5.0.0”,
“@angular/language service”:“^5.0.0”,
“@types/jasmine”:“~2.8.6”,
“@types/jasminewd2”:“~2.0.2”,
“@types/node”:“~9.4.7”,
“codelyzer”:“~4.2.1”,
“茉莉花芯”:“~3.1.0”,
“jasmine spec reporter”:“~4.2.1”,
“因果报应”:“~2.0.0”,
“卡玛铬发射器”:“~2.2.0”,
“karma cli”:“~1.0.1”,
“因果报应报道伊斯坦布尔记者”:“^1.2.1”,
“因果报应茉莉”:“~1.1.0”,
“karma jasmine html reporter”:“^1.0.0”,
“量角器”:“~5.3.0”,
“ts节点”:“~5.0.1”,
“tslint”:“~5.9.1”,
“类型脚本”:“~2.7.2”,
“@types/chai”:“4.1.2”,
“柴”:“4.1.2”,
《噶玛斋》:“0.1.0”,
“因果报应网页包”:“2.0.13”
}

}
我使用angular CLI创建了新的应用程序,然后将node_modules文件夹(其中包含common文件夹中的http文件夹)复制到我的应用程序中。这解决了我的问题。但这似乎不是解决这个问题的正确方法。我认为,也许有更合乎逻辑的方式来解决这个问题的正当理由。因此,我仍然在等待更合适的答案(很高兴有解释):我有同样的问题;在Visual Studio 2017中创建了Angular项目,安装了Angular CLI并将其升级到Angular 5。 通过教程,它在同一点上失败了

通过修改package.json文件解决了此问题,删除了以下行:

   "@angular/http": "^5.0.0",
已删除项目节点\u模块文件夹,然后运行npm\u安装

这次它按预期安装了Angular common http文件夹


如果原始模块仍然存在,我猜它不会添加通用http模块?

我遇到了这个问题,结果是vs2017添加的包覆面处理文件阻止了它更新到v5

解决问题的步骤包括:

  • 删除npm-shrinkwrap.json文件(展开package.json文件查看)
  • 删除项目文件夹中的node_modules文件夹
  • 重新安装npm: npm安装-g npm检查更新
  • 摘自:


    只需等待VS更新软件包管理器的引用即可。

    您是否安装了
    @angular/common
    ?是的,当然可以。您是通过npm安装的吗?是的,我正在提供我的应用程序的package.json。您在依赖项中有相当多的内容,这些依赖项只是开发人员的依赖项。实际上,ASP.NET core可用的angular模板没有更新的angular软件包,尽管它包含angular>4.3.0的版本