gpt4 book ai didi

node.js - TypeScript:意外的保留字

转载 作者:太空宇宙 更新时间:2023-11-04 00:43:35 25 4
gpt4 key购买 nike

我在 WebStorm IDE 和 Node.js 中有一个项目。我创建了一个名为“mongo-manager.ts”的文件,我在 paths\index.js 文件中使用了该文件。它工作顺利。

然后我做了两件事:

  1. WebStorm 总是问我是否将 TypeScript 编译为 JavaScript,我总是忽略它,但一旦我点击"is",从那以后解决了一些错误后,它现在就成功地将 ts 文件编译为 js。<
  2. 我将index.js 转换为index.ts,现在我仍然有index.js,它是编译的输出。

从那时起,当我尝试运行我的应用程序时(使用 WebStorm 中的绿色三角形按钮,该按钮又使用命令行:“C:\Program Files (x86)\JetBrains\WebStorm 11.0.1\bin\runnerw .exe""C:\Program Files\nodejs\node.exe"bin\www),我收到此错误:

import mongodb = require('mongodb');

^^^^^^

SyntaxError: Unexpected reserved word

现在,“import”语句没有具体问题,因为如果我省略它,下一个非 JavaScript 语句将引发相同的异常。它只是尝试像对待 JavaScript 一样对待 TypeScript。

我发现了这些问题: Typescript: unexpected reserved word in PHPStorm , Unable to import in typescript file in nodejs

他们建议要么使用“tsc”而不是node.exe,或者确保我使用node.exe运行js文件而不是ts文件。

现在的情况是,node.exe 直接运行的文件是“www”,它是一个 JavaScript 文件,并依次调用 app.js(它仍然是 JavaScript),但后来是文件 index.ts 和 mongo-manager.ts被调用,所以我有 js 和 ts 的混合体。

另一个也是最重要的事情是,我的代码已经无缝运行,即使它是混合的,并且没有采纳这些问题中的任何建议,直到我对 WebStorm 是否将 TypeScript 编译为 JavaScript 的问题回答"is",这一直都出现。

无论如何,我只想让我的应用程序再次运行,无论如何。

任何帮助将不胜感激!

最佳答案

您需要了解编译错误运行时错误之间的区别。您遇到的似乎是运行时错误。请检查 Node.js 正在执行的 JavaScript 文件。

目前 Node.js 尚不支持 ES6 模块语法,您需要将 tsconfig.json 中的 module 字段设置为 commonjs。理想情况下,在输出 JavaScript 文件中,import mongodb = require('mongodb'); 在面向 ES6 时应以 const mongodb = require('mongodb'); 形式发出,在面向 ES5 时应以 var mongodb = require('mongodb'); 形式发出。

关于node.js - TypeScript:意外的保留字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35736677/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com