Website-Suche

javascript - Wie behebt man ''TypeError: System.config ist keine Funktion'


Ich lerne TypeScript und heute habe ich SystemJS installiert, damit ich einige Dateien importieren konnte. Zuerst habe ich nur die Hauptdatei importiert, die ausgeführt werden musste, also app.js, in index.html

<script src="node_modules/systemjs/dist/system.js"></script>
<script>
     System.import('app.js');
</script>

Aber ich habe diesen Fehler bekommen: https://i.sstatic.net/lz7Hm.png

Also habe ich meinen HTML-Code in dies umgewandelt:

<script src="node_modules/systemjs/dist/system.js"></script>
<script>
    System.config({
        baseURL: '/',
        packages: {
            "/ts": {
                defaultExtension: 'js'
            }
        }
    });
    System.import('app.js');
</script>

Jetzt erhalte ich diesen Fehler: https://i.sstatic.net/RS0k7.png

package.json:

{
  "name": "ts",
  "version": "1.0.0",
  "description": "",
  "main": "app.js",
  "dependencies": {
    "jquery": "^3.4.0",
    "systemjs": "^3.1.2",
    "typescript": "^3.4.2"
  },
  "devDependencies": {
    "lite-server": "^2.4.0"
  },
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "lite-server"
  },
  "author": "",
  "license": "ISC"
}

app.ts: console.log("Hallo")

Ich bin an diesem Punkt festgefahren. Jede Hilfe wäre willkommen. Vielen Dank im Voraus.

Antwort #1

Ich nehme an, du hättest versehentlich auf das neueste system.js aktualisiert... SystemJS 2.0 unterstützt System.Config nicht. Siehe https://guybedford.com/systemjs-2.0

Es wird stattdessen unter Verwendung von https://github.com/systemjs/systemjs/blob/2.0.0/docs/package-name-maps.md gemacht

Wenn es dir inzwischen gelungen ist, den Code zu aktualisieren, kannst du ebenso gut das aktualisierte Beispiel hier für alle zur Nutzung posten.

Antwort #2

Finde system.js und füge System.config() darin ein, dies würde den Fehler beheben.

<script src="node_modules/systemjs/dist/system.js">
        System.config({
        baseURL: "/",
        packages: {
          "/": {
            defaultJSExtensions: true
          }
        }
      })
      System.import("app.js")</script>
<script>

Verwandte Artikel