簡體   English   中英

找不到導入的模塊TypeScript

[英]Cannot find imported Module TypeScript

我正在嘗試在VS 2015中設置新的TypeScript HTML項目。我已將Typescript構建設置設置為commonJses5,並且還具有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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM