


Verwenden Sie das Node.js-basierte Build-Tool Grunt, um ASP.NET MVC-Projekte_node.js zu veröffentlichen
Grunt-Einführung
Grunt ist ein Konstruktionstool, das auf js und node.js basiert. Da node.js in dieser Zeit immer beliebter wurde, verfügt grunt über umfangreiche Open-Source-Community-Unterstützung und hat viele Plug-Ins erstellt . Es gibt auch einige Plugins, die in der Node-Community verstreut sind. Konstruktion ist ein weit gefasster Begriff. Da die Technologie immer häufiger vorkommt, umfasst die Konstruktion auch die Vorverarbeitung von Front-End-Komponenten, z. B. die Vorverarbeitung von Sass und weniger in CSS , und js. Komprimierung und Zusammenführung. Das Grunt-Plug-in kann diese neuen Gebäudekonzepte sehr gut unterstützen und eignet sich besser für Projekte, die mit Open-Source-Technologien erstellt wurden. Obwohl Grunt eher für die Programmerstellung verwendet wird, ist Grunt im Wesentlichen ein Tool zum Ausführen von Aufgaben, das zur Lösung sich wiederholender Aufgaben verwendet wird.
Erste Schritte mit Grunt
Installieren
Laden Sie Node.js herunter und installieren Sie es. Adresse herunterladen
Installation überprüfen und Version anzeigen:
node -v
v0.10.25
Installieren Sie das grunt-Befehlszeilentool grunt-cli und installieren Sie es mit -g global, sodass es in jedem Verzeichnis verwendet werden kann. Der folgende Befehl fügt grunt zu Ihrem Systemsuchpfad hinzu, sodass Sie diesen Befehl in jedem Verzeichnis verwenden können.
npm install -g grunt-cli
Es ist zu beachten, dass unter Linux oder Mac manchmal der Fehler „keine Berechtigungen“ gemeldet wird. In diesem Fall muss ein sudo vorangestellt werden
sudo npm install grunt-cli -g
Version anzeigen:
grunt –version
grunt-cli v0.1.13
Deinstallieren. Wenn Sie Grunt zuvor global installiert haben, entfernen Sie es zuerst.
npm uninstall -g grunt
grunt-cli ist nur eine Grunt-Befehlszeilenschnittstelle, die die Verwendung von Grunt und seinen Plug-Ins erfordert. Das Grunt-Modul selbst muss im Projektpfad (normalerweise im Projektstammverzeichnis) installiert werden, wofür das Plug-In erforderlich ist. im Modul. Immer wenn der Befehl grunt ausgeführt wird, sucht er über den Befehl nodejs require lokal nach dem installierten Grunt. Aus diesem Grund können Sie Grunt-Befehle in jedem Unterverzeichnis ausführen. Wenn die CLI ein lokal installiertes Grunt findet, lädt sie die Grunt-Bibliothek, wendet die von Ihnen in GruntFile geschriebene Konfiguration an und führt dann die entsprechenden Aufgaben aus.
Konfigurationsdatei
package.json
package.json wird verwendet, um die installierten und erforderlichen Knotenmodule im aktuellen Verzeichnis zu speichern, zum Beispiel:
{ "name": "my-project-name", "version": "0.1.0", "author": "Your Name", "devDependencies": { "grunt": "~0.4.1" } }
Sie können diese Datei manuell oder über den Befehl npm init erstellen und den Anweisungen folgen, um die Erstellung der Datei package.json abzuschließen. Wenn Sie package.json manuell erstellt haben, laden Sie einfach die erforderlichen Module über npm install herunter und installieren Sie sie. Wenn das Modul installiert ist, wird es im Verzeichnis node_modules gespeichert.
Wenn Sie die erforderlichen Module später hinzufügen möchten, verwenden Sie den folgenden Befehl, um die Datei package.json synchron zu aktualisieren
npm install <module> --save-dev
Gruntfile.js
Der Status dieser Datei ist wie bei einem Makefile. Es handelt sich um eine Datei, die Grunzen zum Ausführen von Aufgaben anleitet. Sie muss die für jedes Plug-In-Modul erforderlichen Parameter konfigurieren, Plug-Ins laden und Aufgaben definieren. Weitere Informationen zu Gruntfile finden Sie hier. Es wird empfohlen, dass die Leser ein umfassendes Verständnis von Gruntfile haben, bevor sie fortfahren.
ASP.NET MVC mit Grunt erstellen
MSbuild
Bevor Sie Grunt zum Erstellen von .NET-Projekten verwenden, müssen Sie zunächst MSbuild verstehen. MSBuild ist Microsofts Tool zum Erstellen von Programmen. Derzeit wird MSbuild vollständig zum Kompilieren von Projekten verwendet. MSbuild besteht aus einem msbuild-Tool, einer Reihe von Compiler- oder Builder-Programmen und XML-Dateien. Tatsächlich handelt es sich bei den Projektdateien .sln und .csproj in Visual Studio um XML, die von msbuild erkannt werden können (im Folgenden als msbuild-Konfigurationsdatei bezeichnet). Visual Studio schließt die Build-Arbeit durch Aufrufen von msbuild ab, und msbuild erkennt die Parameter und Build-Verhaltenskennungen . Wir können msbuild auch selbst über die Befehlszeile aufrufen.
Es gibt zwei Schlüsselkonzepte in msbuild: Aufgabe und Eigenschaft. Die Aufgabe ist der Einstiegspunkt für die direkte Ausführung von msbuild als Ziel. Wenn msbuild ausgeführt wird, muss es auf die Standardaufgabe verweisen, andernfalls muss angegeben werden, was die Zielaufgabe ist. Eine Eigenschaft ist eine Variable. Genauso wie Variablen in einem Programm die Programmausführung beeinflussen können, kann eine Eigenschaft das Verhalten des Builds beeinflussen.
Die von VisualStudio generierte msbuild-Konfigurationsdatei ist oberflächlich betrachtet nur wenige Uplinks. Durch den Import werden jedoch einige vordefinierte Konfigurationsdateien importiert, sodass die vollständige Konfiguration nicht angezeigt werden kann Datei. Suchen Sie das Schlüsselaufgabenelement. Glücklicherweise gibt es ein Tool, mit dem Sie die Struktur der msbuild-Konfigurationsdatei analysieren können.
Darüber hinaus können Sie beim Aufruf von msbuild die Standardeigenschaften und -aufgaben über Befehlszeilenparameter überschreiben. Der folgende Aufruf gibt beispielsweise an, dass die Aufgabe „Neu erstellen“ als Ziel verwendet wird und das Konfigurationsattribut auf Debug gesetzt ist:
msbuild ConsoleApplication1.csproj /target:Rebuild /property:Configuration=Debug
更多关于msbuild,请参考微软的文档
手动使用msbuild代替VisualStudio
以发布到本机为例,经过笔者在VS2012下的环境中测试,使用VS在调用msbuild时使用了如下关键的参数覆盖:
- Configuration:Debug或者Release,相信使用VS的同学对此不会陌生
- VisualStudioVersion:VS在安装的时候会将一些公用的,VisualStudio相关的,msbuild配置文件预先存在某个版本相关的地方,在VisualStudio生成项目文件时,会包含一个$VisualStudioVersion变量,这个变量会与路径结合指向这些预先准备好的配置文件。在2012下,需要将这个值设置为11.0
- WarningLevel:编译时的告警级别
- DeleteExistingFiles:发布功能使用到的是否删除已存在文件的选项
- WebPublishMethod:发布方式,笔者常用的是FileSystem,即发布到本机或远程共享的某个目录
- publishUrl:如果WebPublishMethod是FileSystem,这个值表示发布的磁盘路径
关键的任务:
- Build:即VS中针对某个项目的编译功能
- Rebuild:即VS中针对某个项目的重新编译功能
- WebPublish:即VS针对某个项目的发布功能
至此,我们已经可以使用msbuild命令行来代替VS的一些构建动作了。由于本篇的重点是grunt,读者可以参见微软的说明,自己试验一下:
PS: MSbuild通常位于类似这样的目录下:C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe
使用grunt-msbuild调用msbuild
终于到了介绍本文的主角了:grunt-msbuild。这是一个个人开发的msbuild调用中间件。作为grunt的插件,经过笔者亲测,完全可以使用。结合其他的grunt插件,简化了笔者发布项目的过程。
你可以像下面这样将这个插件添加进项目的Gruntfile,实现自动发布:
msbuild: { fontend: { src: ['Web.FontEnd/Web.FontEnd.csproj'], options: { projectConfiguration: 'Release', targets: ['WebPublish'], stdout: true, maxCpuCount: 4, buildParameters: { WarningLevel: 2, VisualStudioVersion: "11.0", DeleteExistingFiles: 'True', WebPublishMethod: 'FileSystem', publishUrl: [font_pwd] }, verbosity: 'quiet' } } }
上面的代码实现了,将Web.FontEnd.csproj项目在Release模式下通过FileSystem发布方式发布到font_pwd变量指代的目录下。 这里需要注意的是,可能需要根据自己的VS版本修改VisualStudioVersion参数,可以通过查看类似如下目录:C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0来检查。font_pwd是一个js变量,根据需要进行调整。
Grunt的完整配置就不给出了,主要是要知道这几个关键的参数设置。
在实际使用过程中DeleteExistingFiles这个参数似乎不起作用,所以可能需要另外再包含清空目标文件夹的任务。下面是实际任务运行时的部分截图:

Unterschiedliche JavaScript -Motoren haben unterschiedliche Auswirkungen beim Analysieren und Ausführen von JavaScript -Code, da sich die Implementierungsprinzipien und Optimierungsstrategien jeder Engine unterscheiden. 1. Lexikalanalyse: Quellcode in die lexikalische Einheit umwandeln. 2. Grammatikanalyse: Erzeugen Sie einen abstrakten Syntaxbaum. 3. Optimierung und Kompilierung: Generieren Sie den Maschinencode über den JIT -Compiler. 4. Führen Sie aus: Führen Sie den Maschinencode aus. V8 Engine optimiert durch sofortige Kompilierung und versteckte Klasse.

Zu den Anwendungen von JavaScript in der realen Welt gehören die serverseitige Programmierung, die Entwicklung mobiler Anwendungen und das Internet der Dinge. Die serverseitige Programmierung wird über node.js realisiert, die für die hohe gleichzeitige Anfrageverarbeitung geeignet sind. 2. Die Entwicklung der mobilen Anwendungen erfolgt durch reaktnative und unterstützt die plattformübergreifende Bereitstellung. 3.. Wird für die Steuerung von IoT-Geräten über die Johnny-Five-Bibliothek verwendet, geeignet für Hardware-Interaktion.

Ich habe eine funktionale SaaS-Anwendung mit mehreren Mandanten (eine EdTech-App) mit Ihrem täglichen Tech-Tool erstellt und Sie können dasselbe tun. Was ist eine SaaS-Anwendung mit mehreren Mietern? Mit Multi-Tenant-SaaS-Anwendungen können Sie mehrere Kunden aus einem Sing bedienen

Dieser Artikel zeigt die Frontend -Integration mit einem Backend, das durch die Genehmigung gesichert ist und eine funktionale edtech SaaS -Anwendung unter Verwendung von Next.js. erstellt. Die Frontend erfasst Benutzerberechtigungen zur Steuerung der UI-Sichtbarkeit und stellt sicher, dass API-Anfragen die Rollenbasis einhalten

JavaScript ist die Kernsprache der modernen Webentwicklung und wird für seine Vielfalt und Flexibilität häufig verwendet. 1) Front-End-Entwicklung: Erstellen Sie dynamische Webseiten und einseitige Anwendungen durch DOM-Operationen und moderne Rahmenbedingungen (wie React, Vue.js, Angular). 2) Serverseitige Entwicklung: Node.js verwendet ein nicht blockierendes E/A-Modell, um hohe Parallelitäts- und Echtzeitanwendungen zu verarbeiten. 3) Entwicklung von Mobil- und Desktop-Anwendungen: Die plattformübergreifende Entwicklung wird durch reaktnative und elektronen zur Verbesserung der Entwicklungseffizienz realisiert.

Zu den neuesten Trends im JavaScript gehören der Aufstieg von Typenkripten, die Popularität moderner Frameworks und Bibliotheken und die Anwendung der WebAssembly. Zukunftsaussichten umfassen leistungsfähigere Typsysteme, die Entwicklung des serverseitigen JavaScript, die Erweiterung der künstlichen Intelligenz und des maschinellen Lernens sowie das Potenzial von IoT und Edge Computing.

JavaScript ist der Eckpfeiler der modernen Webentwicklung. Zu den Hauptfunktionen gehören eine ereignisorientierte Programmierung, die Erzeugung der dynamischen Inhalte und die asynchrone Programmierung. 1) Ereignisgesteuerte Programmierung ermöglicht es Webseiten, sich dynamisch entsprechend den Benutzeroperationen zu ändern. 2) Die dynamische Inhaltsgenerierung ermöglicht die Anpassung der Seiteninhalte gemäß den Bedingungen. 3) Asynchrone Programmierung stellt sicher, dass die Benutzeroberfläche nicht blockiert ist. JavaScript wird häufig in der Webinteraktion, der einseitigen Anwendung und der serverseitigen Entwicklung verwendet, wodurch die Flexibilität der Benutzererfahrung und die plattformübergreifende Entwicklung erheblich verbessert wird.

Python eignet sich besser für Datenwissenschaft und maschinelles Lernen, während JavaScript besser für die Entwicklung von Front-End- und Vollstapel geeignet ist. 1. Python ist bekannt für seine prägnante Syntax- und Rich -Bibliotheks -Ökosystems und ist für die Datenanalyse und die Webentwicklung geeignet. 2. JavaScript ist der Kern der Front-End-Entwicklung. Node.js unterstützt die serverseitige Programmierung und eignet sich für die Entwicklung der Vollstapel.


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

SAP NetWeaver Server-Adapter für Eclipse
Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.

DVWA
Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software

SublimeText3 Englische Version
Empfohlen: Win-Version, unterstützt Code-Eingabeaufforderungen!

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

Herunterladen der Mac-Version des Atom-Editors
Der beliebteste Open-Source-Editor