Mit dem Aufkommen von all diesen Javascript-Modul-Loadern versuche ich die Konfiguration zu verstehen, die ich brauche, um Angular 2 in meiner ASP.NET MVC-Webanwendung mit Webpack einzurichten. Hier ist, was ich wissen (ohne Gewähr) so weit:ASP.NET MVC-Website mit Npm, Webpack und Angular2?
- Webpack ist ein Modul-Lader. So wird es in der Lage sein, meine gesamte Angular 2-Anwendung zu bündeln, indem ich die
webpack.config.js
-Datei auf meine eckige App und habe es eine einzige Datei, die ich in meine HTML - npm gibt mir die Möglichkeit, alle meine Angular 2 verwalten können Komponenten in einer
package.json
Datei, die alle Abhängigkeiten für Angular 2 in Unterdateien/Ordner unternode_modules
ich habe bereits durchlaufen und heruntergeladene Dinge wie Typescript
in Visual Studio-Stick wird, und ich habe node
und npm
Eingerichtet. Die Task Runner Explorer
hat auch die webpack.config.js
Datei abgeholt und ich kann sie ausführen und sehe eine eingebaute Javascript-Datei. Hier ist meine grundlegende Dateistruktur (minus irrelevant Ordner/Dateien)
Solution
node_modules
@angular
core-js
es6-shim
rxjs
reflect-metadata
...
Scripts
app
component-1
component-2
...
shared
directives
interfaces
services
...
app.component.ts <-- Should have the root level angular 2 component
main.ts <-- should be entry point into angular 2 application
Scripts-Build
main.bundle.js <-- Webpack places my bundled js file here
package.json
webpack.config.js
Meine package.json
Datei sieht wie folgt aus
{
"version": "1.0.0",
"name": "aspnet",
"private": true,
"dependencies": {
"@angular/common": "^2.4.5",
"@angular/compiler": "^2.4.5",
"@angular/core": "^2.4.5",
"@angular/forms": "^2.4.5",
"@angular/http": "^2.4.5",
"@angular/platform-browser": "^2.4.5",
"@angular/platform-browser-dynamic": "^2.4.5",
"@angular/router": "^3.4.5",
"angular-in-memory-web-api": "~0.2.4",
"core-js": "^2.4.1",
"rxjs": "5.0.1",
"systemjs": "0.19.40",
"zone.js": "^0.7.4"
}
}
Meine webpack.config.js
Datei sieht wie folgt aus
var path = require("path");
module.exports = {
context: path.join(__dirname, "Scripts"),
entry: "./main.ts",
output: {
path: path.join(__dirname, "Scripts-Build"),
filename: "[name].bundle.js"
}
}
Der Schluckauf
Der Schluckauf, den ich habe, wenn ich versuche, eine Hallo-Welt-Stil-Anwendung für Angular 2 zu schreiben, habe ich Probleme beim Importieren der Module aus meinem Ordner node_modules
. Hier ist, was app.component.ts
sieht aus wie
import { Component } from "../../node_modules/@angular/core/index.js"
Der Fehler, den ich sehen will, ist nicht die Einfuhr verwenden können, Exporte oder Modul Augmentationen, wenn ‚--module‘ ist ‚none‘
Bin ich etwas schrecklich falsch zu machen oder fehlt mir hier eine Feinheit?
Die gleiche Umgebung vor ein paar Wochen mit MVC Core gebaut (nicht sicher für Ihre Version?): Werfen Sie einen Blick auf diesen Link: http://blog.stevensanderson.com/2016/10/04/angular2-template- for-visual-studio/Sie können damit ein neues Projekt erstellen und prüfen, was in Ihrem fehlt. –