Функция Typescript не вызывается из Html при использовании RequireJs - PullRequest
0 голосов
/ 08 января 2020

Я пытаюсь использовать Require Js для загрузки функций Typescript в Html. Я сделал простую функцию Alert в скрипте типа следующим образом, и она, кажется, не вызывается. Это должно быть просто, но я перепробовал все базовые c проверки и не уверен, чего не хватает.

Eventhandler. ts:

export function Main() 
{
    alert("Hi");

 }

Eventhandler. js:

define(["require", "exports"], function (require, exports) 
{
    "use strict";
    Object.defineProperty(exports, "__esModule", { value: true });
    function Main() {
        alert("Hi");
    }
    exports.Main = Main;
});

tsconfig. json:

{
  "compilerOptions": {
    "noImplicitAny": false,
    "noEmitOnError": true,
    "removeComments": true,
    "sourceMap": true,
    "module": "AMD",
    "target": "es5",
    "outDir": "../appscriptJS"
  },
  "exclude": [
    "node_modules",
    "wwwroot"
  ]
}

Основной js файл, где требуется Конфигурация присутствует: приложение. js.

приложение.ts:

/// <reference path="../scripts/typings/requirejs/require.d.ts" />
require.config(
{
    baseUrl: './appscriptJS',
    paths: { jQuery: '../scripts/jquery-3.4.1.min.js' }
});

require(['EventHandler'], function(app){ app.Main();});

Соответствующий файл js, приложение. js:

define(["require", "exports"], function (require, exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", { value: true });
    function Main() {
        alert("Hi");
    }
    exports.Main = Main;
});

Html страница: `` `Введите номер вашего мобильного телефона:

<div><span id="message"></span></div>
<input type="button" class="btn-default" id="submit" value="Submit" />

<script data-main="app.js" src="~/Scripts/require.js"></script>

```

1 Ответ

0 голосов
/ 19 января 2020

Исправление было так просто. Основной атрибут данных в require js api не выполняет поиск в базовом URL, указанном в файле конфигурации require js.

Итак, пришлось указать полный путь к файлу приложения js в скрипт в html выглядит следующим образом:

<script data-main="../appscriptJS/app.js" src="~/Scripts/require.js"></script>
...