- با هربار تغییر فایل tsconfig.json، کامپایل دوبارهی پروژه را فراموش نکنید (مهم). از منوی build گزینهی rebuild solution را انتخاب کنید. این rebuild، کار کامپایل مجدد فایلهای ts. را هم انجام میدهد.
- commonjs بیشتر برای برنامههای nodejs استفاده میشود. اگر علاقمند باشید که با سیستمی شبیه به AngularJS 2.0 کار کنید، از یک module loader ویژه، به نام
SystemJS استفاده کنید (که قابلیت بارگذاری خودکار ES6 modules, AMD, CommonJS را دارد). بنابراین فایل tsconfig.json را به این صورت تغییر دهید:
{
"compileOnSave": true,
"compilerOptions": {
"target": "es5",
"module": "system",
"sourceMap": true
}
}
بعد فایل index.html شما چنین شکلی را پیدا میکند:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>TypeScript HTML App</title>
<link rel="stylesheet" href="app.css" type="text/css"/>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/systemjs/0.19.22/system.js"></script>
<script type="text/javascript">
System.defaultJSExtensions = true;
System.import('app');
</script>
</head>
<body>
<h1>TypeScript HTML App</h1>
<div id="content"></div>
</body>
</html>
در اینجا
System.JS کار بارگذاری اولین ماژول برنامه یا همان app.js را به صورت خودکار انجام میدهد (و همچنین تمام ماژولهای مرتبط با آنرا). بنابراین دیگر نیازی به ذکر اسکریپتهای برنامه در اینجا نیست (هیچکدام از آنها، منهای موارد عمومی مثل خود system.js).
بعد فایل app.ts را هم به این صورت تغییر دهید، چون این کدها پس از onload اجرا میشوند:
import {Book} from "./testmd";
let book: Book = new Book();
console.log(book.bookName);
document.getElementById("content").innerText = book.GetbookNmae;