TS2307内部版本:找不到模块“ lodash”

BEv*_*ans 5 typescript visual-studio-2015 npm-install angular

更新资料

抱歉,我没有很清楚地解释我的问题。我遇到的错误不是在通过Gulp编译Angular应用程序时发生,而是在Visual Studio“错误列表”中。此后,我已经能够解决该问题(至少可以解决该问题),但是我想感谢所有响应的人。我的决议如下。


我已经在PoC Asp.Net Core Web应用程序中构建了Angular4 / TypeScript应用程序。Angular4应用程序在我的PoC应用程序中运行良好,因此我将所有相关文件复制到了我正在开发的应用程序(也是一个Asp.Net Core Web App)中。

然后,我运行“ npm install”以确保已安装所有依赖项,并使用Gulp在我的wwwroot / js /文件夹中创建.js文件。Gulp已完成,没有错误,但现在Visual Studio正在报告以下错误,并阻止我构建项目。

TS2307 Build:Cannot find module 'lodash'.
Run Code Online (Sandbox Code Playgroud)

更令人困惑的是,完成上述步骤后,尽管对该项目进行了任何更改,但原始PoC应用程序仍遇到相同的错误,这使我认为这更多是环境问题。

我已经读过类似问题,他们说要安装@ types / lodash,但这会导致重复错误(卸载类型会修复重复错误,但会导致其他错误)。

引发错误的.ts代码是:

import * as _ from "lodash";
Run Code Online (Sandbox Code Playgroud)

更改为:

import _ from "lodash";
Run Code Online (Sandbox Code Playgroud)

不起作用。

预先感谢您的帮助,因为我目前正在拔头发,试图弄清为什么它不再起作用了。

我的配置文件如下:

package.json

TS2307 Build:Cannot find module 'lodash'.
Run Code Online (Sandbox Code Playgroud)

Types.json

import * as _ from "lodash";
Run Code Online (Sandbox Code Playgroud)

tsconfig.json

Dav*_*d L 6

您应该通过以下方式安装@types/lodash 软件包:

npm install --save @types/lodash
Run Code Online (Sandbox Code Playgroud)

这将告诉Typescript编译器什么是lodash以及库公开了哪些模块和组件。

此外,typings不再是推荐的方法。您应该卸载并删除,typings并且@types只能通过将tsconfig更新为以下内容来切换到软件包:

"typeRoots": [
  "node_modules/@types"
],
Run Code Online (Sandbox Code Playgroud)

最后,删除类型后,您将需要添加@types软件包core-js并jasmine启用这些软件包:

npm install --save @types/core-js
npm install --save @types/jasmine
Run Code Online (Sandbox Code Playgroud)


BEv*_*ans 1

再次感谢所有回复的人,对于最初没有更清楚地了解实际问题,我深表歉意。

我的 TypeScript 文件已正确编译,但 Visual Studio 继续在“错误列表”窗口中报告构建错误。

在尝试了一些步骤(上面列出的更多步骤)之后,在这里找到了为我解决问题的方法: http: //rostacik.net/2015/08/14/how-to-disable-building-of-打字稿文件在 Visual Studio-2015/

简而言之,使用文本编辑器打开项目“.xproj”文件(可能是“.csproj”)。找到<PropertyGroup> </PropertyGroup>标签并添加行<TypeScriptCompileBlocked>true</TypeScriptCompileBlocked>。保存文件,然后允许 Visual Studio 根据需要更新文件。现在重新构建您的应用程序。