[英]Cannot find imported Module TypeScript
我正在嘗試在VS 2015中設置新的TypeScript HTML項目。我已將Typescript構建設置設置為commonJs , es5,並且還具有tsconfig.json ,即
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"sourceMap": true
}
}
這是我的主要應用
import t = require('./test');
class Greeter {
element: HTMLElement;
span: HTMLElement;
timerToken: number;
t: any;
constructor(element: HTMLElement) {
this.element = element;
this.element.innerHTML += "The time is: ";
this.span = document.createElement('span');
this.element.appendChild(this.span);
this.span.innerText = new Date().toUTCString();
this.t = new t.sample.test();
}
start() {
this.timerToken = setInterval(() => this.span.innerHTML = new Date().toUTCString(), 500);
this.t.hello();
}
stop() {
clearTimeout(this.timerToken);
}
}
window.onload = () => {
var el = document.getElementById('content');
var greeter = new Greeter(el);
greeter.start();
};
這是我導入的模塊test.ts
export module sample {
export class test {
constructor() { }
hello = () => {
console.log("Test");
}
}
}
這是HTML。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>TypeScript HTML App</title>
<link rel="stylesheet" href="app.css" type="text/css" />
<script src="test.js"></script>
<script src="app.js"></script>
</head>
<body>
<h1>TypeScript HTML App</h1>
<div id="content"></div>
</body>
</html>
該項目構建良好,但是當我在瀏覽器chrome或IE中打開該項目時,它將在控制台中引發錯誤,即找不到測試 ,並且文件從未下載到瀏覽器中。 誰能建議我在這里所缺少的。
這是我推薦的解決方案...
第一步 -為AMD(或UMD)而不是CommonJS進行編譯:
"module": "amd",
第二步 -在此處拋棄內部模塊:
export module sample {
第三步 -添加RequireJS(作為NuGet包提供)
第四步 -使用Require JS
<script src="require.js" data-main"app"></script>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.