このJavaScriptスニペットを実行する明白な方法はありますか?
--- jsコード---
require( 'moment')
console.log( '--- start')
console.log( 'moment()。format():'、moment()。format())
console.log( '--- end')
---出力---
[実行中]ノード "c:\ lab \ temp-ackikjupmw.js"
---開始
C:\ lab \ temp-ackikjupmw.js:3
console.log( 'moment()。format():'、moment()。format())
^
ReferenceError:モーメントが定義されていません
オブジェクトで。
Module._compile(module.js:541:32)で
Object.Module._extensions..js(module.js:550:10)で
Module.load(module.js:458:32)で
tryModuleLoad(module.js:417:12)で
Function.Module._load(module.js:409:3)で
Function.Module.runMain(module.js:575:10)で
起動時(node.js:160:18)
node.js:449:3で
[完了] 0.189秒でcode = 1で終了しました
こんにちは@ rana 、moment npmパッケージがグローバルまたはC:\lab\node_modules
インストールされていますか?
こんにちは@formulahendry 、
私はコードランナーが大好きで、とても役に立ちます。 もっと使いたい!
はい、ライブラリは「C:\ labnode_modules \ moment」にあります。 インストール後に存在するすべてのノードモジュール。 vscode-code-runnerを使用したjsのセットアップの構成についてはよくわかりません。 JavaScriptのドキュメントがもう少しあれば素晴らしいと思います。 それ以外の場合、モジュール参照なしのjavascript呼び出しは適切に実行されます。 これは、ユーザーがツールを構成していない単純なケースですか?
例を挙げてドキュメントで回答を確認したい追加の質問をいくつか示します。
ありがとうございました!
ラナ
こんにちは@rana 、
質問1では、require( 'some-lib')がサポートされています。 実際、Code Runnerでjsを実行することnode C:\lab\your-file.js
、シェルでjsファイルをnode C:\lab\your-file.js
を実行して、結果を確認してください。
質問2では、es6構文でjsを実行しますか?
あなたはbabel-nodeをインストールすることができnpm install -g babel-cli
そして、 code-runner.executorMap
を以下のように設定します。
{
"code-runner.executorMap": {
"javascript": "babel-node"
}
}
@formulahendry @ranaとここにいる他の人は、 babel-cli
グローバルにインストールせずにES6 / 7コードを実行する方法を説明します(ベストプラクティスではないと見なされます)
"code-runner.executorMap": {
"javascript": "$workspaceRoot/node_modules/.bin/babel-node --harmony $fullFileName"
}
--harmony
フラグは、 babel-node
使用方法に基づいてオプションになります
@formulahendryこのような素晴らしい製品に感謝します-これを達成できるように必要なファイル/フォルダーの場所を提供することは素晴らしく、すべてのインポート/要件がインポートを実行するファイルに関連しているノードの世界で必要です
npm i esm
、次のように高速に動作します。
"code-runner.executorMap": {
"javascript": "node -r esm $fullFileName"
}
最も参考になるコメント
npm i esm
、次のように高速に動作します。"code-runner.executorMap": { "javascript": "node -r esm $fullFileName" }