问题标签 [ts-node]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
typescript - 将 .vue 文件与 ts-node 一起使用
我以编程方式(require('ts-node').register()
)使用 ts-node 和 Vue 用于开发目的。这不会编译 .vue 文件,因此没有直接使用它们的选项。我现在想要实现的是插入 TypeScript 编译器(通过 ts-node)以在将 .vue 文件导入到 .ts 文件之前随时转换它们。但是我就是找不到路。有没有?或者是否有其他方法可以在使用这些 .vue 文件之前对其进行编译?
node.js - NestJS 初创公司的开发速度令人难以置信
我在开发环境中的应用程序在启动阶段非常缓慢。我在各个地方设置了一些调试日志,看看是什么占用了这么多时间,发现我main.ts
实际上用了将近9 分钟 来app.module
导入我的!
资源
输出
生产启动:
开发启动:
是的,我开始使用ts-node
,但这是 NestJS 推荐用于开发和调试的。
问题
如何优化启动,以便后端的每个小改动都不需要 10 分钟的拖延?我很难集中注意力,这无济于事。
我的模块太多了吗?如果我结合一些会有帮助吗?我有大约 15 个 DB 实体模型,每个模型都包含在它自己的基于 graphql 的模块中以提高可读性,但其中许多都通过forwardRef()
在我的模块导入中注入解决了循环依赖关系。这可能是个问题吗?
我尝试包含尽可能少的第三方库以避免 node_modules 地狱。我在我的模块中导入的是我自己的代码或 NestJS 框架的东西。当然我不知道加载了多少隐式依赖项,但是我拖拽的库数量会影响启动性能吗?如果是这样,我如何监控堆栈上的内容以及每个脚本在评估时消耗多少内存/cpu?我可以以某种方式预编译其中的一些以增加启动吗?
在生产中作为已编译的 javascript 运行时,我没有这个问题。
mocha.js - 带有 Mocha 的 TS-Node 不使用 TS_NODE_PROJECT
TS_NODE_PROJECT
当 ts-node 用于使用 Mocha 进行测试时,我无法使用 env 变量。
项目结构如下所示:
在我的测试中,我想使用一个异步函数,它需要"lib": ["es2018"]
作为编译选项。
为了运行测试,我使用了这个命令,但它会导致错误:
这意味着src/tsconfig.json
未使用。根据Overriding `tsconfig.json` for ts-node in mocha
和 ts-node 文档,该命令应该将正确的tsconfig.json
路径传递给 ts-node。
移动src/tsconfig.json
到项目目录并运行相同的命令会导致测试成功。如何将tsconfig.json
路径传递给 ts-node 以便测试正确编译?
javascript - ts-node 是否支持 '@' 样式导入?如果是这样,如何设置它?
我正在使用主快递应用程序中的类创建一个命令行脚本。
脚本位于文件夹中:
主要快递应用程序正在/app
使用中import '@/foo/bar/thing
。
这是在tsconfig.json
主应用程序中设置的,如下所示:
脚本执行
我正在测试是否可以从主应用程序导入,所以我创建了一个sayHello()
函数。
当我运行它时:
概括:
ts-node 是否支持 '@' 样式的导入?如果是这样,我该如何设置?
node.js - ts-node 中的断点问题
我遇到了一个非常奇怪的问题。我有两台工作的 PC,其中一台在一天内停止断点。另一台 PC 与以前一样正常工作。我尝试重新安装Node JS
,ts-node
然后甚至硬重置 Windows(我使用 Windows)但没有任何成功。
然后我认为这可能是我的项目中的问题,我试图从谷歌教程中克隆hello world项目,我发现我仍然无法调试它!
所以我成功地在我的端口上运行了一个应用程序,但断点不会命中。这在 VS Code、WebStorm 甚至 Chrome 调试器中停止工作。
这就是我运行应用程序的方式:"C:\Program Files\nodejs\node.exe" --inspect --require ts-node/register C:\Projects\node-typescript-starter-master\src\index.ts
然后我从 chrome 打开开发工具,我看到了这个:
然后我按下“检查”,我在控制台中看到消息:
Debugger attached. Debugger listening on ws://127.0.0.1:9229/8bae9408-867c-4278-9148-b6c90b35a8ae For help, see: https://nodejs.org/en/docs/inspector Debugger attached.
这是下一个窗口。好像我在这里遗漏了任何文件。
这是否意味着我的文件映射有问题?请让我提出任何可能是问题的建议。
javascript - 一些 expressjs 静态文件被提供,而另一些则没有
我有一个奇怪的情况,特别麻烦的是我已经这样做了很多次,然后它必须是我所缺少的简单的东西。
请帮助我感觉我正在失去理智......
问题/症状
- 我可以从 lib 文件夹中加载任何 js 文件
root/public/art
我可以在 web 位置下的文件夹中加载任何 png 文件//art/foo/bar.png
- 无论我做什么,都无法从 CSS 或 js 加载任何内容,这一切都给了我 404 错误,这让我完全发疯了。
- 注释掉第 13 行的相同行为
- 与第 14-16 行的各种形式相同
- 使用和不使用路由器都一样
文件夹结构
- 根
- 服务器.ts
- 上市
- 艺术
- 子文件夹中的艺术品
- css
- 画布.css
- js
- js文件在文件夹中,而不是
代码
解决方案(编辑)
万一以后有人发现这个问题,我一直在修复它,我只需要做一个空缓存并重新加载......如果你在 chrome 打开开发工具 F12 然后单击并按住刷新并选择它。
node.js - ts-node 将选项传递给节点
调用 ts-node 时有没有办法将选项传递给节点?我正在尝试在 node 中使用一个实验性功能,如果它可以与 ts-node 一起使用,它会膨胀。
这就是我目前正在做的事情:
javascript - 使用节点检查器 CLI 调试 typescript 时显示原始 typescript 文件
有没有办法让节点检查器 CLI(或任何基于 CLI 的调试器)在调试时显示原始打字稿文件?
例如,为了调试打字稿,我通常会运行类似:nodemon -e ts -w src -x "tsc -p . && node inspect ./dist/file.js"
. 这有效,但它调试转译的 javascript。
为了解决这个问题,我尝试ts-node
像这样使用:nodemon -e ts -w src -x "node inspect -r ts-node/register src/file.ts"
. 尽管如此,调试器仍会显示转译后的 JS。
sourcemap: true
intsconfig
也无济于事。
node.js - Mocha 从已删除的规范中运行测试
我正在 Visual Studio Code 中的节点项目上使用 mocha 运行测试。在一些重构过程中,我将我的一个测试规范从 重命名basic-heating-rule-spec.ts
为rule-config-spec.ts
.
重构的测试失败了,没什么大不了的,但错误似乎表明 now deletedbasic-heating-rule-spec.ts
仍在运行:
似乎旧规范被缓存在某个地方。我尝试重新启动 VSCode 并重新启动我的机器,但不存在的测试文件继续运行。有谁知道文件被缓存在哪里以及如何清除它?
我执行测试,npm run test
我的 package.json 包含以下内容:
我的 tsconfig.json 看起来像这样:
更奇怪的是:重构的rule-config-spec.ts
包含describe("RuleConfig"() =>...)
出现在上面的消息中。如果我将其更改为,describe("RuleXXXConfig"() =>...)
那么我会收到引用正确文件的错误:
如果我将其改回,describe("RuleConfig"() =>...)
那么我会收到再次引用不存在的测试文件的旧消息:
我现在已经完全脱离了我的深度:有人知道WTF在这里发生吗?
typescript - Mocha - 对装饰器的实验性支持是一项可能在未来版本中更改的功能
我正在尝试Mocha
使用以下命令运行单元测试Windows
。
并得到以下错误
尽管我的tsconfig.json
文件中有以下内容。
谁能建议我如何引用该tsconfig.json
文件?