PowerShellでClearScriptでV8やる

やりました
それゆえにPowerShellでモダンなJavaScriptが動きます

概要

  1. ClearScriptぽいものをnugetしていく
  2. ClearScriptぽいものをAdd-Type
  3. [Microsoft.ClearScript.V8.V8ScriptEngine]::new()していろいろやる

導入

わかりやすさのためにnuget.exeをしますが実用を求めるなら各自いい感じにしてください

  1. nuget.exeをダウンロード
PS> Invoke-RestMethod -Uri https://dist.nuget.org/win-x86-commandline/latest/nuget.exe -OutFile nuget.exe
  1. ClearScriptのV8に必要なものをダウンロード
PS> .\nuget.exe install Microsoft.ClearScript.V8
PS> .\nuget.exe install Microsoft.ClearScript.V8.Native.win-x64
  1. ちょっとファイルを移動する(※)
PS> gi .\Microsoft.ClearScript.V8.Native.win-x64.7.1.2\runtimes\ | copy -Destination .\Microsoft.ClearScript.V8.7.1.2\lib\net5.0\ -Recurse
  1. Add-Typeする
Add-Type -Path .\Microsoft.ClearScript.Core.7.1.2\lib\net5.0\ClearScript.Core.dll
Add-Type -Path .\Microsoft.ClearScript.V8.7.1.2\lib\net5.0\ClearScript.V8.dll

やる

PS> $v8 = [Microsoft.ClearScript.V8.V8ScriptEngine]::new()
# ※をやっとかないとここでエラーになる

PS> $v8.Execute('let foo = {"bar":1};')
PS> $v8.Evaluate('foo').bar
1

できました

コメントを残す