.NET Core widoczność skryptów

.NET Core widoczność skryptów
ZR
  • Rejestracja:ponad 4 lata
  • Ostatnio:ponad 4 lata
  • Postów:1
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:

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

tsconfig.json

Kopiuj
import { Klasa } from 'dowolna sciezka.js'

export class Foo{

    onClickFooBar(){
        alert('test');
    }
}
Kopiuj
{
  "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 ?

AdamWox
@cerrato: To mi nie wygląda na C#, a raczej Angular.
ZR
C# .NET Core Razor html
cerrato
@AdamWox: do C# się nie zbliżam w ogóle, więc ciężko powiedzieć, a tym bardziej ocenić. Ale jeśli uważasz, że język nie pasuje do kategorii to złóż raport, przyjdzie ktoś, kto się na tym zna i zrobi co trzeba ;)
bakunet
  • Rejestracja:około 8 lat
  • Ostatnio:około 6 godzin
  • Lokalizacja:Polska
  • Postów:1610
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:

Kopiuj
<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.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.