这些红色波浪线表示cannot find module 'angular2/core'
,cannot find module 'angular2/router'
,cannot find module 'angular2/http'
。
我查看了SO中的其他帖子,但似乎没有合适的答案。
其他帖子说我需要在tsconfig.json
文件中配置一些内容,但我使用的是Visual Studio,我认为不需要使用angular团队建议的ts编译器,因为Visual Studio应该能够编译ts文件自动。
我错过了什么吗?
即使您使用Visual Studio,tsconfig.json
仍然需要吗?
如何摆脱这些波浪线?
谢谢!
(我使用的是Visual Studio 2015和最新的Typescript引擎)
更新:
我不确定npm包管理器究竟是什么。但我有一个预先构建的package.json
文件,该文件是在创建项目时创建的。我用这个文件来安装npm包。
答案 0 :(得分:53)
对于VS 2015中的ASP.NET 5.0应用程序,配置typescript有点挑战性。
在改进打字稿的工具之前,您可以手动配置打字稿:
Step 1: Right-click project, and Unload Project
Step 2: Right-click the unloaded project, and Edit the .xproj file
Step 3: Add a PropertyGroup node, under the Project node:
<PropertyGroup Condition="'$(Configuration)' == 'Debug'">
<TypeScriptTarget>ES5</TypeScriptTarget>
<TypeScriptJSXEmit>None</TypeScriptJSXEmit>
<TypeScriptCompileOnSaveEnabled>True</TypeScriptCompileOnSaveEnabled>
<TypeScriptNoImplicitAny>False</TypeScriptNoImplicitAny>
<TypeScriptModuleKind>CommonJS</TypeScriptModuleKind>
<TypeScriptRemoveComments>False</TypeScriptRemoveComments>
<TypeScriptOutFile />
<TypeScriptOutDir />
<TypeScriptGeneratesDeclarations>False</TypeScriptGeneratesDeclarations>
<TypeScriptNoEmitOnError>True</TypeScriptNoEmitOnError>
<TypeScriptSourceMap>True</TypeScriptSourceMap>
<TypeScriptMapRoot />
<TypeScriptSourceRoot />
<TypeScriptExperimentalDecorators>True</TypeScriptExperimentalDecorators>
</PropertyGroup>
Step 4: Right-click the unloaded project and Reload Project
Step 5: Re-build project
如果您仍然遇到无法找到模块的错误,请退出visual studio并重新加载解决方案。
答案 1 :(得分:9)
以下是我的工作设置:
<PropertyGroup Condition="'$(Configuration)' == 'Release'">
<TypeScriptTarget>ES5</TypeScriptTarget>
<TypeScriptJSXEmit>None</TypeScriptJSXEmit>
<TypeScriptCompileOnSaveEnabled>True</TypeScriptCompileOnSaveEnabled>
<TypeScriptNoImplicitAny>False</TypeScriptNoImplicitAny>
<TypeScriptModuleKind>System</TypeScriptModuleKind>
<TypeScriptRemoveComments>False</TypeScriptRemoveComments>
<TypeScriptOutFile />
<TypeScriptModuleResolution>NodeJs</TypeScriptModuleResolution>
<TypeScriptOutDir />
<TypeScriptGeneratesDeclarations>False</TypeScriptGeneratesDeclarations>
<TypeScriptNoEmitOnError>True</TypeScriptNoEmitOnError>
<TypeScriptSourceMap>True</TypeScriptSourceMap>
<TypeScriptMapRoot />
<TypeScriptSourceRoot />
<TypeScriptEmitDecoratorMetadata>True</TypeScriptEmitDecoratorMetadata>
<TypeScriptExperimentalDecorators>True</TypeScriptExperimentalDecorators>
</PropertyGroup>
将Visual Studio应用到您的Web项目后重新启动Visual Studio。
答案 2 :(得分:7)
对于VS2015,请转到工具 - &gt;选项 - &gt;文字编辑器 - &gt; TypeScript - &gt;项目 - &gt;然后勾选“自动编译不属于项目的TypeScript文件”,然后选择“为模块使用CommonJS代码生成......”
答案 3 :(得分:5)
答案 4 :(得分:1)
我也遇到了此错误,对我有用的是卸载项目并检查.csproj文件。我发现此代码段已添加到其中-
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.2.0-alpha11'
classpath 'com.google.gms:google-services:4.1.0'
}
}
allprojects {
repositories {
maven { url "https://jitpack.io" }
mavenLocal()
google()
jcenter()
maven {
url "$rootDir/../node_modules/react-native/android"
}
}
}
ext {
compileSdkVersion = 28
targetSdkVersion = 28
buildToolsVersion = "28.0.2"
supportLibVersion = "28.0.0-rc02"
googlePlayServicesVersion = "15.0.1"
oreoEXPERIMENTAL = "yes"
}
subprojects {
afterEvaluate {project ->
if (project.hasProperty("android")) {
android {
compileSdkVersion 28
buildToolsVersion '28.0.2'
}
}
}
}
删除此代码,保存csproj,然后重新加载工作的项目。 希望这会有所帮助!
答案 5 :(得分:0)
安装它的最简单方法是使用npm包管理器,因为angular2现在随附输入。您的编辑将识别所有导入位置......
答案 6 :(得分:0)
This has to be done for both 'Debug' and 'Release' then only it works in VS 2013. Like below..
<PropertyGroup Condition="'$(Configuration)' == 'Release'">
<TypeScriptTarget>ES5</TypeScriptTarget>
<TypeScriptJSXEmit>None</TypeScriptJSXEmit>
<TypeScriptCompileOnSaveEnabled>True</TypeScriptCompileOnSaveEnabled>
<TypeScriptNoImplicitAny>False</TypeScriptNoImplicitAny>
<TypeScriptModuleKind>system</TypeScriptModuleKind>
<TypeScriptRemoveComments>False</TypeScriptRemoveComments>
<TypeScriptOutFile />
<TypeScriptModuleResolution>NodeJs</TypeScriptModuleResolution>
<TypeScriptOutDir />
<TypeScriptGeneratesDeclarations>False</TypeScriptGeneratesDeclarations>
<TypeScriptNoEmitOnError>True</TypeScriptNoEmitOnError>
<TypeScriptSourceMap>True</TypeScriptSourceMap>
<TypeScriptMapRoot />
<TypeScriptSourceRoot />
<TypeScriptEmitDecoratorMetadata>True</TypeScriptEmitDecoratorMetadata>
<TypeScriptExperimentalDecorators>True</TypeScriptExperimentalDecorators>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)' == 'Debug'">
<TypeScriptTarget>ES5</TypeScriptTarget>
<TypeScriptJSXEmit>
</TypeScriptJSXEmit>
<TypeScriptCompileOnSaveEnabled>True</TypeScriptCompileOnSaveEnabled>
<TypeScriptNoImplicitAny>False</TypeScriptNoImplicitAny>
<TypeScriptModuleKind>system</TypeScriptModuleKind>
<TypeScriptRemoveComments>False</TypeScriptRemoveComments>
<TypeScriptOutFile />
<TypeScriptModuleResolution>NodeJs</TypeScriptModuleResolution>
<TypeScriptOutDir />
<TypeScriptGeneratesDeclarations>False</TypeScriptGeneratesDeclarations>
<TypeScriptNoEmitOnError>True</TypeScriptNoEmitOnError>
<TypeScriptSourceMap>True</TypeScriptSourceMap>
<TypeScriptMapRoot />
<TypeScriptSourceRoot />
<TypeScriptEmitDecoratorMetadata>True</TypeScriptEmitDecoratorMetadata>
<TypeScriptExperimentalDecorators>True</TypeScriptExperimentalDecorators>
</PropertyGroup>
答案 7 :(得分:0)
我在安装离子2时遇到了这个问题 - 我安装了所有软件包(package.json更新)并将我的npm更新为v3。这解决了它。
答案 8 :(得分:0)
使用Mads Kristensen的ASP.NET Core Angular 2 Starter Application模板进行开发。我在使用Typescript文件启动一个新目录时遇到了类似的问题。
我的解决方案比修改项目文件更简单。我刚刚从ClientApp文件夹中复制了tsconfig.json,其中所有的脚本文件都放在我的新文件夹中。
答案 9 :(得分:0)
右键点击&#34; package.json &#34;
并选择&#34; 还原包&#34; 在安装包之后构建它......你的问题已经解决了
答案 10 :(得分:0)
这是一个有趣的问题,除了上面提到的原因和解决方案之外,还可以在以下情况下出现此错误。
计算机上未安装NPM(节点包管理器)
安装NPM如果在安装NPM后仍然出现此错误,则可能存在NPM配置问题。请参阅此article以正确设置NPM配置
答案 11 :(得分:0)
答案 12 :(得分:0)
嗨我在使用eclplse编辑器时遇到了同样的问题。我在我的cmd窗口中执行了下面的命令,我已经重启了我的日食。它按预期工作。
npm install --save @ angular / core @ angular / compiler @ angular / common @ angular / platform-browser @ angular / platform-browser-dynamic rxjs@5.0.0-beta.6 zone.js @ 0.6.12 @ angular / forms
答案 13 :(得分:0)
答案 14 :(得分:0)
右键单击“ package.json ” 然后选择“安装软件包”选项,它将打开终端并自动导航到正确的根文件夹并安装所需的依赖项。
package.json列出了项目需要运行的所有依赖项列表。