Zahteve: Ko simuliramo HTTP zahteve, lahko parametri zahtev in vsebina zahteva vključujejo vsebino algoritma; algoritem je mogoče najti v JavaScriptu, če algoritem js prevedemo v programski jezik, ki ga uporabljamo (npr. Java, C#), je težje, običajno je vsebina js stisnjena in zmedena, zato je zelo dobro, če neposredno prevedemo js v knjižnico razredov, ki jo lahko pokličemo.
Uporabite JSC za generiranje exe programa v JavaScriptu
test1.js koda je naslednja:
Odprite ukaz za razvijalce VS 2019 in vnesite naslednje:
Poskusite zagnati main.exe program, program zaženemo skozi ukaz cmd, dvakrat kliknemo neposredno in program bo zabliskal mimo, kot sledi:
Uporabite JSC za generiranje dll knjižnice JavaScripta
test.js koda je naslednja:
Ukaz je naslednji:
Ustvarite nov .NET 4 konzolni projekt, ki se sklicuje na knjižnico razreda common.dll
Nato instancirajte objekt in pokličite njegovo metodo. Koda je naslednja:
Kot je prikazano spodaj:
Orodje ILSpy lahko uporabite za ogled generirane izvorne kode dll, kot je prikazano na spodnji sliki:
jsc program file path: C:\Windows\Microsoft.NET\Framework\v4.0.30319\jsc.exe
Parameter:
Microsoft (R) JScript Compiler različica 14.00.3752 for Microsoft (R) .NET Framework različica 4.0.30319 Avtorske pravice (C) Microsoft Corporation. Vse pravice pridržane.
JSC [možnosti] <源文件> [[možnosti] <源文件>...]
Možnosti prevajalnika JScript
- Izhodna datoteka - /out:<file> Določa ime binarne izhodne datoteke /t[arget]:exe Ustvari konzolno aplikacijo (privzeto) /t[arget]: winexe za ustvarjanje Windows aplikacije /t[arget]: knjižnica ustvari knjižnični sklop /platform:<platform> Omejuje platforme, na katerih se ta koda lahko izvaja; Mora biti x86, Itanium, x64 ali kateri koli procesor (privzeta platforma)
- Vhodna datoteka - /autoref[+|-] Samodejna referenca na sestave na podlagi uvoženih imenskih prostorov in popolnoma kvalificiranih imen (privzeto vklopljenih) /lib:<path> Določa dodatno imenik, v katerem želite iskati reference /r[eference]:<seznam datotek> Sklicuje se na metapodatke iz določene asemblerske datoteke <seznam datotek>: <ime asemblerja>[; <ime skupščine>...]
- Vir - /win32res:<file> Določa Win32 datoteke virov (.res) /res[ource]:<info> Vdelaj določen vir <info>: <filename>[,<name>[,javno|zasebno]] /linkres[ource]:<info> Povezuje določeni vir s to sestavo <info>: <filename>[,<name>[,javno|zasebno]]
- Generiranje kode - /debug[+|-] za izdajo debug sporočila /fast[+|-] onemogoči jezikovne funkcije, da izboljša generiranje kode /warnaserror[+|-] obravnava opozorilo kot napako /w[arn]:<level> Nastavite opozorilno raven (0-4)
- Razno - @<filename> Za več možnosti preberite datoteko z odgovori /? Pokaži pomoč /help shows help /d[efine]:<symbols> Definira pogojne prevajalne simbole /nologo ne prikazuje avtorske znamke prevajalnika /print[+|-] zagotavlja funkcijo print()
- Napredno - /codepage:<id> Odpri izvorno datoteko z navedenim ID-jem kodne strani /lcid:<id> Uporabite določen LCID za sporočila in privzete kodne strani /nostdlib[+|-] ne uvozi standardne knjižnice (mscorlib.dll) in samodejno privzeto spremeni na izklopljeno /utf8output[+|-] oddaja izhod prevajalnika v kodiranju znakov UTF-8 /versionsafe[+|-] določa privzeto vrednost za člane, ki niso označeni kot "override" ali "hide" (Konec)
|