Node.js TypeScript:意外的保留字
我在WebStorm IDE和Node.js中有一个项目。我创建了一个名为“mongo manager.ts”的文件,我在routes\index.js文件中使用了它。它无缝地工作 然后我做了两件事:Node.js TypeScript:意外的保留字,node.js,typescript,webstorm,Node.js,Typescript,Webstorm,我在WebStorm IDE和Node.js中有一个项目。我创建了一个名为“mongo manager.ts”的文件,我在routes\index.js文件中使用了它。它无缝地工作 然后我做了两件事: WebStorm总是问我是否要将TypeScript编译成JavaScript,我总是忽略它,但有一次我点击“是”,然后在解决了一些错误后,它成功地将ts文件编译成js 我将index.js转换为index.ts,现在仍然有index.js,这是编译的输出 从那时起,当我尝试运行我的应用程序时(使
我们将非常感谢您的帮助 您需要知道编译错误和运行时错误之间的区别。似乎您遇到的是运行时错误。请检查Node.js正在执行的JavaScript文件
目前Node.js还不支持ES6模块语法,您需要在
tsconfig.json
中设置module
字段,使其成为commonjs
。理想情况下,在输出JavaScript文件中,import mongodb=require('mongodb')
应作为const mongodb=require('mongodb')发出代码>针对ES6或var mongodb=require('mongodb')代码>以ES5为目标。在我的输出文件中,我有var mongodb=require('mongodb');我写道这不是问题所在,因为如果我省略它,那么下一个非JavaScript语句将抛出相同的异常。它似乎不运行js文件,而是运行原始ts文件。不管怎样,正如我所说:在那之前,我甚至没有将ts编译成js,它可以无缝地工作。你需要扩展名为“.ts”的文件吗?是的。如果我尝试添加对js文件的引用,则会出现编译错误:TS6054:file'C:/ProjectFolder/dal/mongo manager.js'的扩展名不受支持。唯一受支持的扩展名是“.ts”、“.tsx”、“.d.ts”。实际上,您应该省略扩展名。