问题标签 [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 - 使用 Mocha 和 ts-node 注册规范测试
我有一个使用节点和打字稿运行的项目。
该项目涵盖不同的功能区域,文件夹结构反映了这样的划分
在package.json我配置了一个脚本来运行测试,例如
有了这样的配置,虽然只有项目目录的第一个子级别的测试被执行(即只有 function-2-1.spec.ts)。
如果我想在我的项目中执行所有测试,我必须创建一个不同的脚本,例如
这意味着如果我增加项目结构的深度,我必须更新脚本。
有没有更简单的方法来告诉 mocha 考虑独立于子文件夹深度的所有测试?
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 (我知道这是矛盾的,但如果它有效......)。如果可能的话,我还想避免通过浏览器进行调试。
node.js - 使用 ts-node 进行测试时,TypeScript Express Api 类不是构造函数
我已经使用打字稿类设置了一个快速应用程序,但遇到了一个奇怪的问题。所有测试都通过了,今天我去更新一些路线时,我的测试不再运行。当我运行我的测试脚本时,我在控制台中收到了这条错误消息:
我的Api.ts
文件如下所示:
我的index.ts
:
最后,我的tsconfig.json
对我来说,当这个配置过去对我很好时,突然出现这种行为真的很奇怪。我仍然可以很好地启动我的服务器,但出于某种原因,ts-node 不想编译我的*test.ts
文件以供 mocha 运行我的测试。知道这可能是什么吗?
javascript - 如何有条件地将名称附加到字符串?
我正在尝试将公司名称放在卡号前面,这里的代码是我试图让它在前面打印名称的代码。我在这里遇到的问题是每家公司都有规则 - 条件,我正在努力将这些规则变成 if 语句的条件。
我意识到我正在做的 if 语句不是处理这个问题的好方法,但我只是要求解释解决这个问题的最佳方法。
AMEX 卡规则: - 长度为 15 - 以“34”或“37”开头
发现卡规则: - 长度为 16 - 以“6011”开头
万事达卡规则: - 长度为 16 - 以“51”或“55”开头
VISA 卡规则: - 以“13”或“16”或“4”开头
我正在从代码中看到的另一个文件中读取数字,我认为我不必包含这个,但这就是为什么我遇到麻烦我不想跳过 if 语句只是说我的不切实际
这是我的代码:
javascript - 如何将控制台日志作为常规文本输出到另一个文件
我正在尝试将我的 console.log 的结果打印到另一个 .txt 文件,我将如何做到这一点?这就是我的 console.log 的样子:https ://imgur.com/o2Vo471
我希望将此作为常规文本打印到输出文件中,例如“output.txt”
node.js - 如何在项目中分离出@types?
我有一个使用 React 和 Webpack 的 TypeScript 项目:
我有一个典型webpack.config.js
的构建项目。一切正常。
然后我转换webpack.config.js
为.js
关注.ts
这篇文章:
确实,webpack.config.ts
效果很好。
然而,node/webpack 和 react 之间的 typedef 被视为在同一个空间中(即本地和 web)。例如,在我的webpack.config.ts
I 应该引用@types/node
而不是@types/react
,在我的src/components/app.tsx
文件中我应该引用@types/react
而不是@types/node
,但是在这两个地方编译器和 IDE 都认为我同时使用两者(在运行时它会爆炸)。如何分离这些类型定义,以便正确的文件对正确的文件可见?
从概念上讲,我想我只想@types
fromdevDependencies
只对开发脚本可见,比如webpack.config.ts
,并且文件src
只能@types
从dependencies
. 这样的设置可以吗?
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 次更改和初始运行后的控制台输出:
软件包版本:
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.json
baseUrl,因为该目录src/
不存在。另外,我注意到该分辨率不适用于模块“util”(它显然是在我的 node_modules 文件夹中使用 util 而不是 node.js util 库),这导致我的应用程序崩溃。
node.js - ts-node 错误:找不到兼容的 `parseConfigFile` 函数
我只是安装了ts-node
withnpm install -g ts-node
但我无法执行 REPL,它给了我这个错误:
我正在使用 Fedora 27。知道吗?
问候,
node.js - 如何以编程方式将打字稿文件呈现为javascript?
我试图弄清楚如何以编程方式将打字稿文件呈现为 javascript 文件。
这可能与 ts-node 一起做吗,例如:
我不想在 nodejs 中执行 ts 文件,而只是编译 ts 文件并将输出发送回浏览器。