Node.js 使用RequireJs时未从Html调用Typescript函数
我正在尝试使用RequireJs加载Html中的Typescript函数。我在类型脚本中创建了一个简单的警报函数,如下所示,它似乎没有被调用 Eventhandler.ts:Node.js 使用RequireJs时未从Html调用Typescript函数,node.js,angularjs,typescript,requirejs,node-modules,Node.js,Angularjs,Typescript,Requirejs,Node Modules,我正在尝试使用RequireJs加载Html中的Typescript函数。我在类型脚本中创建了一个简单的警报函数,如下所示,它似乎没有被调用 Eventhandler.ts: export function Main() { alert("Hi"); } Eventhandler.js: define(["require", "exports"], function (require, exports) { "use strict"; Object.define
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"
]
}
require配置所在的主js文件是app.js
app.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();});
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>
```
```
修复非常简单。
require js api中的data main属性不在requirejs配置文件中给定的基本url中搜索
因此,必须在html脚本中给出应用程序js文件的完整路径,如下所示:
<script data-main="../appscriptJS/app.js" src="~/Scripts/require.js"></script>
<script data-main="../appscriptJS/app.js" src="~/Scripts/require.js"></script>