Typescript 找不到名称';要求';打字
根据这些建议,这个问题已经被问了很多次,但我没有看到任何答案能解决我的问题 我在Visual Studio 2015中创建了一个新的ASP.NET核心项目,目标是为Angular2 TypeScript应用程序提供服务,并使用Webpack打包脚本。我正在重新利用Webstorm项目中的一些组件(同样的东西——Angular2和TypeScript),它在那里工作得很好 不幸的是,我只是复制了第一个组件,发现我遇到了一个无法自行解决的错误。在VisualStudioIDE中,我在“require”下看到红色的曲线,鼠标上方的文本显示“找不到名称'require'。无法解析符号'require' 以下是有问题的组件文本(webpack/Angular2使用的require语法): 类似地,我对require的以下代码片段也有同样的问题:Typescript 找不到名称';要求';打字,typescript,visual-studio-2015,Typescript,Visual Studio 2015,根据这些建议,这个问题已经被问了很多次,但我没有看到任何答案能解决我的问题 我在Visual Studio 2015中创建了一个新的ASP.NET核心项目,目标是为Angular2 TypeScript应用程序提供服务,并使用Webpack打包脚本。我正在重新利用Webstorm项目中的一些组件(同样的东西——Angular2和TypeScript),它在那里工作得很好 不幸的是,我只是复制了第一个组件,发现我遇到了一个无法自行解决的错误。在VisualStudioIDE中,我在“require
const sortBy = require('lodash.sortby');
现在,POST有了一个新功能,我可以将typeRoots和类型添加到tsconfig.json的编译器选项中。我在这里看到:
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"moduleResolution": "node",
"typeRoots": [
"node_modules/@types"
],
"types": [
"node",
"lodash.sortby"
]
}
}
当然,我已经将这些包添加到我的package.json中:
{
"dependencies": {
"lodash.sortby": "^4.7.0"
},
"devDependencies": {
"@types/node": "^6.0.60",
"@types/lodash.sortby": "^4.7.0"
}
}
我已经成功地安装了这些文件(以及许多其他文件)
上面的后一个链接表明,我可以将以下内容放在文件的顶部,但这似乎有点骇人听闻,我并不想在解决方案中无限期地坚持下去,尽管无可否认,它确实解决了问题:
declare var require: any
如前所述,require的这种用法在Webstorm中运行良好,我在两个IDE之间有相同的配置。VisualStudio到底是怎么回事,这不只是工作吗
谢谢
编辑:
我已经了解了angular2模板加载器的存在。因为我想在这里使用Webpack和Angular2,所以我使用require(根据他们的文档),但是这个Angular2模板加载器负责让您将templateUrl和StyleURL作为相对引用(因此不使用require指向文件)在包装过程中,我们会为您交换所有的东西
使用require anywhere仍然需要Gary的Typescript模块链接中描述的解决方法。请检查
现在可能不可能,因为commonjs是一个模块系统
根据编译期间指定的模块目标,编译器将为Node.js(CommonJS)、require.js(AMD)、isomorphic(UMD)、SystemJS或ECMAScript 2015本机模块(ES6)模块加载系统生成适当的代码。有关在生成的代码中定义、要求和注册调用的详细信息,请参阅每个模块加载程序的文档。我通过安装最新(目前)版本的Visual Studio 2015 TypeScript解决了此类问题。目前是。并将ReSharper更新到2016.3.2版。。要求是模块<代码>根据编译期间指定的模块目标,编译器将为Node.js(CommonJS)、require.js(AMD)、isomorphic(UMD)、SystemJS或ECMAScript 2015本机模块(ES6)模块加载系统生成适当的代码。有关在生成的代码中定义、要求和注册调用的更多信息,请参阅每个模块加载器的文档。@Gary您能否将其作为答案写出,以便我可以这样标记?
declare var require: any