.NET Core widoczność skryptów

0

Cześć, mam banalny problem. Otóż nie mam pojęcia jak użyć skryptów, które generuje sobie z plików typescript po oznaczeniu ich modułami. Mamy taki widok:

<html>
<head></head>
<body>
    Dummy text
    <button onclick="onClickFooBar()"></button>
</body>
</html>
@section Scripts{
    <script src="~/path...." type="module"></script>
}

tsconfig.json

import { Klasa } from 'dowolna sciezka.js'

export class Foo{

    onClickFooBar(){
        alert('test');
    }
}
{
  "compilerOptions": {
    "esModuleInterop": true,
    "lib": [
      "es2015",
      "es5",
      "es6",
      "dom"
    ],
    "noImplicitAny": false,
    "noEmitOnError": true,
    "removeComments": false,
    "sourceMap": true,
    "target": "es5",
    "outDir": "wwwroot/js/typescript",
    "module": "esnext"
  },
  "include": [
    "scripts/**/*"
  ],
  "compileOnSave": true
}

Gdy daję typ "module", to ta metoda jest widoczna tylko z innego modułu. Jeżeli nie dam typu skryptu jako "module", to nie moge zrobić w nim importów, które są obligatoryjne. Gdzie popełniam błąd ?

0

Wydaje mi się, że chcesz wykorzystać TS jako Web Component w ASP.NET Razor view.

Tutaj są przykłady podejścia dla Angulara, ale wydaje mi się, że z samym TS powinno być podobnie:
https://indepth.dev/posts/1116/angular-web-components-a-complete-guide
https://www.codementor.io/blog/angular-web-components-8e4n0r0zw7

Kwestia jest taka, że dla Angular w jednym z widoków, może być Layout, powinieneś zaimportować pliki TS:

<html>
  <head>
    <script src="./built-files/polyfills.js"></script>
    <script src="./built-files/vendor.js"></script>
    <script src="./built-files/runtime.js"></script>
    <script src="./built-files/styles.js"></script>
    <script src="./built-files/scripts.js"></script>
  </head>
  <body>
    <ui-button></ui-button>
  </body>
</html>

I później możesz używać znaczników komponentu. Jeśli dla samego TS to działa inaczej, to niech ktoś mnie poprawi.

1 użytkowników online, w tym zalogowanych: 0, gości: 1