Mochaを使用してTypeScript/Angular2プロジェクトをテストしたい。説明したようにts-nodeを使用しようとしました here :
npm install -g ts-node
しかし、実行中
mocha --require ts-node/register -t 10000 ./**/*.unit.ts
エラーが発生します
モジュール 'ts-node/register'が見つかりません
ここで何が欠けていますか?
多くの人にとって有効な答えはコメントに隠れているように見えるので、質問に対する実際の答えとして投稿します。質問が再開されたように見えます。
私もこの問題を抱えていました。このQが閉じられた理由がわかりません。ただし、ts-nodeをローカルにインストールすると、これが修正されます。
npm install ts-node --save-dev
@Anitaに感謝します。これも私にとってはうまくいった答えだったからです。
うわー、ばかげた間違いはあなたの時間を費やすことができます。 nodejs
アプリケーションをデバッグしようとしたときに、同じ問題に直面していました。私が犯した間違いは、nodejs
appフォルダー(.vscode
が含まれるディレクトリー)の外側にnode_modules
フォルダーを作成したことです。 .vscode
をそのフォルダーに移動すると、すべてが正常に機能します。以下は私のlaunch.json
ファイルです。
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "index",
"args": [
"src/index.ts"
],
"runtimeArgs": [
"-r",
"ts-node/register"
],
"cwd": "${workspaceFolder}",
"protocol": "inspector",
"internalConsoleOptions": "openOnSessionStart"
}
],
"compounds": []
}
私はこれが古いことを知っていますが、私もこれに出くわし、現在使用しているソリューションを提供したいと考えました。
ts-node
を使用してSudo npm i -g ts-node
をグローバルにインストールしました。この機能をmochaで機能させるには、次のようにmochaにモジュールへの絶対パスを指定する必要がありました。
mocha -r /usr/lib/node_modules/ts-node/register test/*Test.ts
それが誰かを助けることを願っています。
代わりに次のコマンドを試してください。
mocha --compilers ts:ts-node/register,tsx:ts-node/register
それは私のために働く。
Error: module.js:328 throw err; Error: Cannot find module 'ts-node'
解決策:次のコマンドで問題が解決します。
npm install ts-node --save-dev
(プロジェクトの開発依存関係としてts-nodeをインストールします)