如何使用WebStorm/IntelliJ中的ts节点运行带有项目库导入的TypeScript临时文件?

如何使用WebStorm/IntelliJ中的ts节点运行带有项目库导入的TypeScript临时文件?,typescript,intellij-idea,webstorm,ts-node,Typescript,Intellij Idea,Webstorm,Ts Node,我在IntelliJ中有一个TypeScript项目,我喜欢运行一个TypeScript临时文件来处理一些代码和库。我可以使用Node.js运行配置,使用--require ts Node/registeras Node Parameters字段运行临时文件而无需导入(请参阅)。但是,如果我尝试导入一些项目库,例如 import {of} from "rxjs/observable/of"; of('hi').subscribe(console.log); 我得到t错误:⨯ 无法编译TypeS

我在IntelliJ中有一个TypeScript项目,我喜欢运行一个TypeScript临时文件来处理一些代码和库。我可以使用Node.js运行配置,使用
--require ts Node/register
as Node Parameters字段运行临时文件而无需导入(请参阅)。但是,如果我尝试导入一些项目库,例如

import {of} from "rxjs/observable/of";
of('hi').subscribe(console.log);
我得到
t错误:⨯ 无法编译TypeScript
,因为
找不到模块“rxjs/observable/of”
。如果我在我的项目根目录中使用常规TypeScript文件(而不是临时文件),或者如果我使用
require
(而不是
import
),我不会得到任何错误,即

但是我想使用一个临时文件和
import
语法。我的配置缺少什么

编辑:我不仅可以使用
require
无错误地编译版本,而且可以无错误地执行它

根据

要将任何附加参数传递给ts节点(例如,
--project tsconfig.json
),请将它们添加到应用程序参数字段中


但是如果我使用一个不存在的路径而不是
tsconfig.json
,我不会抱怨该文件不存在。
ts节点是否考虑了该选项?

临时文件与一起存储在特殊位置,而不存储在项目根目录中。这就是为什么在使用
ts节点
传输时无法解析项目中安装的模块。
我们不打算更改暂存文件的存储位置,因为它们必须根据设计对所有项目可用。

暂存文件与存储在一起存储在特殊位置,而不是存储在项目根目录中。这就是为什么在使用
ts节点
传输时无法解析项目中安装的模块。
我们不打算更改暂存文件的存储位置,因为它们必须通过设计对所有项目可用。

如果我使用
require
(编译时不检查),则可以在运行时解析模块。编译的暂存文件(JavaScript)与暂存文件(TypeScript)本身位于同一目录中。如果我使用
import
,为什么不能在编译时解决这个问题?文件位于同一位置(项目外部)。在
~/Library/Preferences/IntelliJIdea2019.3/scratch/
(Mac OS)中有文件
scratch_1.ts
scratch_1.js
。我假设
scratch_1.js
scratch_1.js
的编译版本,但我错了。不过,应该可以告诉
ts node
中的编译器在哪里查找模块。它与
require
一起工作,因为IDE在启动时将
node\u PATH
环境变量设置为
/PATH/to/project root/node\u modules
;但是
ts节点
编译器不使用此变量解析导入为什么IDE编辑器的TypeScript编译器或语言服务器(
tsserver
)可以解析导入?暂存文件的编辑器中不显示任何错误。IDE是否将特定参数、选项或环境变量传递给编辑器的编译器?Intellij的编辑器如何知道如何在临时文件中完成代码?它如何解析模块路径?如果我使用
require
(编译时不检查),则可以在运行时解析模块。编译的暂存文件(JavaScript)与暂存文件(TypeScript)本身位于同一目录中。如果我使用
import
,为什么不能在编译时解决这个问题?文件位于同一位置(项目外部)。在
~/Library/Preferences/IntelliJIdea2019.3/scratch/
(Mac OS)中有文件
scratch_1.ts
scratch_1.js
。我假设
scratch_1.js
scratch_1.js
的编译版本,但我错了。不过,应该可以告诉
ts node
中的编译器在哪里查找模块。它与
require
一起工作,因为IDE在启动时将
node\u PATH
环境变量设置为
/PATH/to/project root/node\u modules
;但是
ts节点
编译器不使用此变量解析导入为什么IDE编辑器的TypeScript编译器或语言服务器(
tsserver
)可以解析导入?暂存文件的编辑器中不显示任何错误。IDE是否将特定参数、选项或环境变量传递给编辑器的编译器?Intellij的编辑器如何知道如何在临时文件中完成代码?它如何解析模块路径?
const {Observable, of} = require("rxjs/observable/of");
of('hi').subscribe(console.log);