我有一个使用typescript在 visual -studio-2017中编写的应用程序层。我也有使用javascript和html构建的 Web 资源。Web 资源的 html 使用requirejs在必要时包含已编译的 Typescript 代码。我看到的问题是我在 Typescript 中使用的相对路径。当我将 Web 资源发布到 Microsoft Dynamics 时,RequireJS 正在尝试从我的 Typescript 加载相对于 html 文件而不是相对于转译的 Javascript 文件的相对路径。
网络API
转译为 build/CCSEQ/WebAPI.js(Model.js 位于 build/CCSEQ/Model.js)
"use strict";
import * as Model from "./Model.js";
export class WebAPI{
// Code here
}
主.html
位于 /WebResources/html/Main.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Main</title>
</head>
<body>
<script src="require.js" data-main="../js/Main.js"></script>
</body>
</html>
主.js
位于 /WebResources/js/Main.js
"use strict";
// Require fails because it is looking for /WebResources/html/Model.js rather than /build/CCSEQ/Model.js
require(["WebAPI.js"], function(WebApi){
// Code Here
});