Vereisten: Wanneer we HTTP-verzoeken simuleren, kunnen de verzoekparameters en verzoekinhoud ook algoritme-inhoud bevatten; het algoritme is te vinden in JavaScript, als we het js-algoritme vertalen naar de programmeertaal die we gebruiken (bijv. Java, C#), is het moeilijker, meestal is de js-inhoud gecomprimeerd en verward, dus als we js direct vertalen naar een klassebibliotheek om aan te roepen, is dat erg goed.
Gebruik JSC om het exe-programma in JavaScript te genereren
test1.js code is als volgt:
Open het VS 2019 ontwikkelaarscommando en voer het volgende in:
Probeer het main.exe programma uit te voeren, we laten het programma via het cmd-commando lopen, dubbelklikken direct, en het programma zal als volgt voorbijgaan, als volgt:
Gebruik JSC om een dll-bibliotheek van JavaScript te genereren
test.js code is als volgt:
Het commando is als volgt:
Maak een nieuw .NET 4 consoleproject aan dat verwijst naar de common.dll class library
Instantiaat vervolgens het object en roep zijn methode aan. De code is als volgt:
Zoals hieronder getoond:
Je kunt de ILSpy-tool gebruiken om de gegenereerde dll-broncode te bekijken, zoals weergegeven in de onderstaande figuur:
jsc program file path: C:\Windows\Microsoft.NET\Framework\v4.0.30319\jsc.exe
Parameter:
Microsoft (R) JScript Compiler versie 14.00.3752 voor Microsoft (R) .NET Framework versie 4.0.30319 Auteursrecht (C) Microsoft Corporation. Alle rechten voorbehouden.
JSC [opties] <源文件> [[opties] <源文件>...]
JScript-compileropties
- Uitvoerbestand - /out:<file> Specificeert de naam van het binaire uitvoerbestand /t[arget]:exe Maak consoleapplicatie aan (standaard) /t[arget]: winexe om een Windows-applicatie te maken /t[arget]: bibliotheek maakt een bibliotheekassembly aan /platform:<platform> Beperkt de platforms waarop deze code kan worden uitgevoerd; Moet x86, Itanium, x64 of elke CPU zijn (standaardplatform).
- Invoerbestand - /autoref[+|-] Auto-referentie-assemblies gebaseerd op geïmporteerde naamruimtes en volledig gekwalificeerde namen (standaard aan) /lib:<path> Specificeert de extra map waarin je naar referenties wilt zoeken /r[eference]:<bestandslijst> Verwijst naar metadata uit het opgegeven assemblybestand <bestandslijst>: <assemblynaam>[; <naam van de vergadering>...]
- Bron - /win32res:<file> Specificeert Win32-resourcebestanden (.res) /res[ource]:<info> Embed de opgegeven resource : <info><filename>[,<name>[,,publiek|privé]] /linkres[ource]:<info> Koppelt de gespecificeerde bron aan deze assembly. : <info><filename>[,<name>[,,publiek|privé]]
- Codegeneratie - /debug[+|-] om een debugbericht te sturen /fast[+|-] schakelt taalfuncties uit om codegeneratie beter te maken /warnaserror[+|-] behandelt de waarschuwing als een fout /w[arn]:<level> Stel het waarschuwingsniveau in (0-4)
- Diversen - @<filename> Voor meer opties, lees alstublieft het reactiebestand /? Hulp met het tonen /help toont hulp /d[efine]:<symbols> Definieert conditionele compilatiesymbolen /nologo toont het auteursrechtmerk van de compiler niet /print[+|-] levert de print()-functie
- Gevorderd - /codepage:<id> Open het bronbestand met de opgegeven codepagina-ID /lcid:<id> Gebruik de gespecificeerde LCID voor berichten en standaard codepagina's /nostdlib[+|-] importeert de standaardbibliotheek (mscorlib.dll) niet en verandert de autoref standaard naar uit /utf8output[+|-] zendt compiler-uitvoer uit in UTF-8 tekencodering /versionsafe[+|-] specificeert een standaardwaarde voor leden die niet als "override" of "hide" zijn gemarkeerd. (Einde)
|