问题标签 [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.

0 投票
0 回答
280 浏览

typescript - 使用 Mocha 和 ts-node 注册规范测试

我有一个使用节点和打字稿运行的项目。

该项目涵盖不同的功能区域,文件夹结构反映了这样的划分

package.json我配置了一个脚本来运行测试,例如

有了这样的配置,虽然只有项目目录的第一个子级别的测试被执行(即只有 function-2-1.spec.ts)。

如果我想在我的项目中执行所有测试,我必须创建一个不同的脚本,例如

这意味着如果我增加项目结构的深度,我必须更新脚本。

有没有更简单的方法来告诉 mocha 考虑独立于子文件夹深度的所有测试?

0 投票
0 回答
86 浏览

typescript - 无法在 vscode 中使用 node-ts 调试 Webpack 3 index.ts

我正在使用 vs 代码,我正在尝试调试我的 index.ts 文件,我正在使用 ts-node 构建我的 ts 文件。我的问题是当我开始调试时出现错误,因为我的 index.ts 文件包含

错误是$mainColor: #7777bb; SyntaxError: Invalid or unexpected token

我的 launch.json 看起来像:

考虑到这是无效的 typescript/javascript 语法,这非常有意义。此外,我得出的结论是,在与 webpack 3(2) 捆绑时排除此导入是不好的做法。我的问题是我正在尝试找出如何使用 ts-node 正确调试并以某种方式跳过此导入语句,或者是否有一种可靠的方法可以捆绑我的 SCSS 文件而不将它们导入我的 index.ts (我知道这是矛盾的,但如果它有效......)。如果可能的话,我还想避免通过浏览器进行调试。

0 投票
1 回答
1363 浏览

node.js - 使用 ts-node 进行测试时,TypeScript Express Api 类不是构造函数

我已经使用打字稿类设置了一个快速应用程序,但遇到了一个奇怪的问题。所有测试都通过了,今天我去更新一些路线时,我的测试不再运行。当我运行我的测试脚本时,我在控制台中收到了这条错误消息:

我的Api.ts文件如下所示:

我的index.ts

最后,我的tsconfig.json

对我来说,当这个配置过去对我很好时,突然出现这种行为真的很奇怪。我仍然可以很好地启动我的服务器,但出于某种原因,ts-node 不想编译我的*test.ts文件以供 mocha 运行我的测试。知道这可能是什么吗?

0 投票
4 回答
86 浏览

javascript - 如何有条件地将名称附加到字符串?

我正在尝试将公司名称放在卡号前面,这里的代码是我试图让它在前面打印名称的代码。我在这里遇到的问题是每家公司都有规则 - 条件,我正在努力将这些规则变成 if 语句的条件。

我意识到我正在做的 if 语句不是处理这个问题的好方法,但我只是要求解释解决这个问题的最佳方法。

AMEX 卡规则: - 长度为 15 - 以“34”或“37”开头

发现卡规则: - 长度为 16 - 以“6011”开头

万事达卡规则: - 长度为 16 - 以“51”或“55”开头

VISA 卡规则: - 以“13”或“16”或“4”开头

我正在从代码中看到的另一个文件中读取数字,我认为我不必包含这个,但这就是为什么我遇到麻烦我不想跳过 if 语句只是说我的不切实际

这是我的代码:

0 投票
3 回答
679 浏览

javascript - 如何将控制台日志作为常规文本输出到另一个文件

我正在尝试将我的 console.log 的结果打印到另一个 .txt 文件,我将如何做到这一点?这就是我的 console.log 的样子:https ://imgur.com/o2Vo471

我希望将此作为常规文本打印到输出文件中,例如“output.txt”

0 投票
1 回答
39 浏览

node.js - 如何在项目中分离出@types?

我有一个使用 React 和 Webpack 的 TypeScript 项目:

我有一个典型webpack.config.js的构建项目。一切正常。

然后我转换webpack.config.js.js关注.ts这篇文章

确实,webpack.config.ts效果很好。

然而,node/webpack 和 react 之间的 typedef 被视为在同一个空间中(即本地和 web)。例如,在我的webpack.config.tsI 应该引用@types/node而不是@types/react,在我的src/components/app.tsx文件中我应该引用@types/react而不是@types/node,但是在这两个地方编译器和 IDE 都认为我同时使用两者(在运行时它会爆炸)。如何分离这些类型定义,以便正确的文件对正确的文件可见?

从概念上讲,我想我只想@typesfromdevDependencies只对开发脚本可见,比如webpack.config.ts,并且文件src只能@typesdependencies. 这样的设置可以吗?

0 投票
0 回答
1294 浏览

node.js - 带有 ts-node express 服务器的 Nodemon:应用程序崩溃

我正在尝试使用 Angular 5 客户端构建快速服务器。我在一个“dev”脚本中同时使用“ts-node”、“nodemon”和“ng build --watch”,这样它们就可以自动编译在一起。每隔一次应用程序更改时,nodemon 都会说应用程序崩溃。如果我删除行 app.listen 它将每次都正常工作而不会出现任何错误。

package.json 脚本:

servernodemon.json:

server.app.ts:

3 次更改和初始运行后的控制台输出:

软件包版本:

0 投票
1 回答
2338 浏览

javascript - 打字稿路径映射未在节点应用程序中翻译

目前在 node.js 应用程序中使用 typescript。我已经编译了我的应用程序,并且正在使用typescript 的路径映射功能

'api/*' 应该在根文件夹中查找。在开发工作中使用以下内容:

tsconfig-paths/register允许正确翻译 require 并且 ts-node 将正确执行/运行应用程序。现在,当我开始生产时,问题就出现了。过去在生产中,我只是简单地tsc在文件夹上运行,并将 outDir (dist/) 的内容移动到我的 docker 映像中的 /app 中,然后运行node /app/index.js​​. 这一直有效,直到我开始使用 typescript 的路径映射功能。现在我只是得到错误:

错误:找不到模块 'api/module/path/here'

这个 github 评论中,模块名称显然没有映射到输出编译的 javascript。

我的 tsconfig.json 文件:

在 node.js 环境中使用相对路径映射的推荐方法是什么?如果打字稿是解决问题的人,为什么不重写require语句?涉及像 babel 或 webpack 这样的另一个步骤只是为了添加 typescript 通过模块解析提供的功能感觉很愚蠢。

编辑:经过额外的挖掘,我发现我可以-r tsconfig-paths/register在我的节点环境中使用(我只需要复制到我的 tsconfig.json 文件中)。我可以将 docker 中的入口点切换为:

问题是,我现在需要修改我的tsconfig.jsonbaseUrl,因为该目录src/不存在。另外,我注意到该分辨率不适用于模块“util”(它显然是在我的 node_modules 文件夹中使用 util 而不是 node.js util 库),这导致我的应用程序崩溃。

0 投票
1 回答
225 浏览

node.js - ts-node 错误:找不到兼容的 `parseConfigFile` 函数

我只是安装了ts-nodewithnpm install -g ts-node但我无法执行 REPL,它给了我这个错误:

我正在使用 Fedora 27。知道吗?

问候,

0 投票
1 回答
1755 浏览

node.js - 如何以编程方式将打字稿文件呈现为javascript?

我试图弄清楚如何以编程方式将打字稿文件呈现为 javascript 文件。

这可能与 ts-node 一起做吗,例如:

我不想在 nodejs 中执行 ts 文件,而只是编译 ts 文件并将输出发送回浏览器。