2016-11-22 1 views
1

Jedes Mal, wenn ich angle2 Projekt laufen viele Dateien zusammen mit 'ts' Bibliothek von unpkg.com/plugin-typescript/lib/plugin.js geladen werden. Ich möchte diese Datei von einem anderen Server laden. Ich installierte lokal bereits in, aber wenn ich lokalen Pfad als andere geben, ich habe Fehler „antwortete mit einem Status von 404 (nicht gefunden)“, wie: Run Plugin-Typescript-Bibliothek von localhost in Angular2

fehlgeschlagen Ressource laden: der Server reagierte mit einem Status von 404 (nicht gefunden) http://localhost:6240/node_modules/plugin-typescript/lib/logger

ausgefallene Ressource laden: der Server mit dem Status 404 reagierte (nicht gefunden) http://localhost:6240/node_modules/plugin-typescript/lib/factory

ausgefallene Ressource laden: der Server mit dem Status 404 reagierte (nicht gefunden) http://localhost:6240/node_modules/plugin-typescript/lib/format-errors

ausgefallene Ressource laden: der Server mit dem Status 404 reagierte (nicht gefunden) http://localhost:6240/node_modules/plugin-typescript/lib/utils

ausgefallene Ressource laden: der Server mit dem Status 404 reagierte (nicht gefunden) index.html: 18 Fehler : Fehler: XHR-Fehler (404 Not Found) Laden http://localhost:6240/node_modules/plugin-typescript/lib/logger (...)

Mein systemjs.config.js ist:

(function (global) {

system.config ({

transpiler: 'ts', 

typescriptOptions: { 

    tsconfig: true 

}, 

meta: { 
    'typescript': { 
    "exports": "ts" 
    } 
}, 
paths: { 
    // paths serve as alias 
    'npm:': 'node_modules/' 
}, 
// map tells the System loader where to look for things 
map: { 
    // our app is within the app folder 
    app: 'app', 

    // angular bundles 
    '@angular/core': 'npm:@angular/core/bundles/core.umd.js', 
    '@angular/common': 'npm:@angular/common/bundles/common.umd.js', 
    '@angular/compiler': 'npm:@angular/compiler/bundles/compiler.umd.js', 
    '@angular/platform-browser': 'npm:@angular/platform-browser/bundles/platform-browser.umd.js', 
    '@angular/platform-browser-dynamic': 'npm:@angular/platform-browser-dynamic/bundles/platform-browser-dynamic.umd.js', 
    '@angular/http': 'npm:@angular/http/bundles/http.umd.js', 
    '@angular/router': 'npm:@angular/router/bundles/router.umd.js', 
    '@angular/forms': 'npm:@angular/forms/bundles/forms.umd.js', 

    // other libraries 
    'rxjs':      'npm:rxjs', 
    'angular2-in-memory-web-api': 'npm:angular2-in-memory-web-api', 
    'ts':       'npm:plugin-typescript/lib/plugin.js', 
    //'ts':      'https://unpkg.com/plugin-typescript/lib/plugin.js', 
    'typescript':     'npm:typescript/lib/typescript.js' 

}, 
// packages tells the System loader how to load when no filename and/or no extension 
packages: { 
    app: { 
    main: './main.ts', 
    defaultExtension: 'ts' 
    }, 
    rxjs: { 
    defaultExtension: 'js' 
    }, 
    'angular2-in-memory-web-api': { 
    main: './index.js', 
    defaultExtension: 'js' 
    } 
} 

}); }) (dies);

And My Package.json

{

"name": "angular2-quickstart", 

"version": "1.0.0", 

"scripts": { 

    "start": "tsc && concurrently \"npm run tsc:w\" \"npm run lite\" ", 

    "lite": "lite-server", 

    "postinstall": "typings install", 

    "tsc": "tsc", 

    "tsc:w": "tsc -w", 

    "typings": "typings" 

}, 

"license": "ISC", 

"dependencies": { 

    "@angular/common": "2.0.0-rc.6", 

    "@angular/compiler": "2.0.0-rc.6", 

    "@angular/compiler-cli": "0.6.0", 

    "@angular/core": "2.0.0-rc.6", 

    "@angular/forms": "2.0.0-rc.6", 

    "@angular/http": "2.0.0-rc.6", 

    "@angular/platform-browser": "2.0.0-rc.6", 

    "@angular/platform-browser-dynamic": "2.0.0-rc.6", 

    "@angular/router": "3.0.0-rc.2", 

    "@angular/upgrade": "2.0.0-rc.6", 

    "core-js": "^2.4.1", 

    "reflect-metadata": "^0.1.3", 

    "rxjs": "5.0.0-beta.11", 

    "systemjs": "0.19.27", 

    "zone.js": "^0.6.17", 

    "angular2-in-memory-web-api": "0.0.18", 

    "bootstrap": "^3.3.6" 

}, 

"devDependencies": { 

    "concurrently": "^2.2.0", 

    "lite-server": "^2.2.2", 

    "typescript": "^1.8.10", 

    "typings": "^1.3.2" 

} 

}

Wie ich bin neu angular2 und NPM, Im Ideen aus diesem zu lösen. Jeder Rat oder jede Lösung ist sehr schätzbar. Vielen Dank im Voraus

Antwort

0

Ich hosste meine Angular2-App in IIS, also fügte ich Web.Config eine URL-Umschreibung hinzu, die die URL "/ plugin-typescript/lib/logger/logger" nach "/ plugin-typescript/lib/logger/logger" umleitet js ":

<system.webServer> 
    <rewrite> 
     <rules> 
     <rule name="rewrite directories to .js" stopProcessing="true"> 
      <match url="(.*[^/])$" /> 
      <conditions> 
      <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> 
      <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> 
      <add input="{REQUEST_FILENAME}" pattern="(.*?)\.[a-zA-Z]{1,4}$" negate="true" /> 
      </conditions> 
      <action type="Rewrite" url="{R:1}.js" /> 
     </rule> 
     </rules> 
    </rewrite> 
    </system.webServer> 

Steve

0

Es ist, weil all diese Bibliotheken in/node_modules/Ordner befinden und dieser Ordner ist nicht erreichbar für Ihren Browser. Kopieren Sie sie in einen Ordner, in dem sich der statische Inhalt Ihrer App befindet (in meinem Fall war es wwwroot/js).

Verwandte Themen