Typescript导入函数获取编译器错误
在我的Typescript中,我正在使用导入功能,如下所述: 所以我的代码是:Typescript导入函数获取编译器错误,typescript,visual-studio-2017,Typescript,Visual Studio 2017,在我的Typescript中,我正在使用导入功能,如下所述: 所以我的代码是: import("../myScriptToBeImported").then((module) => { this.dosomethingWithModule(module); }).catch(this.doSomethingWithError.bind(this)); 我在VisualStudio中使用Webpack作为MVC项目的一部分运行此程
import("../myScriptToBeImported").then((module) => {
this.dosomethingWithModule(module);
}).catch(this.doSomethingWithError.bind(this));
我在VisualStudio中使用Webpack作为MVC项目的一部分运行此程序。Webpack编译Typescript时没有任何错误,项目运行正常,但对于上面这行,Visual Studio中始终显示以下错误:
- 应为TS1128(TS)声明或语句李>
- TS2391(TS)功能 缺少实现或未立即在 声明李>
- TS7010(TS)“导入”,缺少返回类型 注释,隐式具有“any”返回类型
{
"compilerOptions": {
"module": "esnext",
"moduleResolution": "node",
"noEmitOnError": true,
"strict": true,
"removeComments": false,
"sourceMap": true,
"target": "es5",
"typeRoots": [
"node_modules/@types"
],
"lib": [ "es6", "dom" ],
"baseUrl": ".",
"experimentalDecorators": true,
"emitDecoratorMetadata": true
},
"exclude": [
"node_modules",
"wwwroot"
],
"compileOnSave": false,
"buildOnSave": false
}
函数样式
import
还不是JS模块规范的一部分。您需要在tsconfig.json
中将module
设置为“esnext”
,才能使用它
如果您已经这样做了,问题可能出在Visual Studio上-确保您的项目配置为使用正确版本的TypeScript编译器。Hi Joe,模块在tsconfig.json文件中已设置为“esnext”。我已经编辑了这个问题,所以你可以看到整个tsconfig文件。嗯,奇怪!这让我觉得a)VS没有拾取
tsconfig.json
文件,或者b)VS使用了不同版本的TypeScript编译器。Aha-在项目属性的TypeScript Build选项卡上,TypeScript版本设置为2.3,所以我将其更改为“最新的TypeScript版本”。直到我重新启动VisualStudio,然后错误在构建时消失,这才有任何区别。如果你加上你的答案,我会标记为正确。哦,见鬼,错误又回来了。不知道为什么-我以前做了一个完整的构建,但它们没有显示出来,但现在它们又出现了!还有其他想法吗?嗯,恐怕不太确定):也许值得在打字脚本GitHub上使用。