やりました
それゆえにPowerShellでモダンなJavaScriptが動きます
概要
- ClearScriptぽいものをnugetしていく
- ClearScriptぽいものを
Add-Type
[Microsoft.ClearScript.V8.V8ScriptEngine]::new()
していろいろやる
導入
わかりやすさのためにnuget.exeをしますが実用を求めるなら各自いい感じにしてください
- nuget.exeをダウンロード
PS> Invoke-RestMethod -Uri https://dist.nuget.org/win-x86-commandline/latest/nuget.exe -OutFile nuget.exe
- ClearScriptのV8に必要なものをダウンロード
PS> .\nuget.exe install Microsoft.ClearScript.V8
PS> .\nuget.exe install Microsoft.ClearScript.V8.Native.win-x64
- ちょっとファイルを移動する(※)
PS> gi .\Microsoft.ClearScript.V8.Native.win-x64.7.1.2\runtimes\ | copy -Destination .\Microsoft.ClearScript.V8.7.1.2\lib\net5.0\ -Recurse
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
できました