2015-12-08 104 views
1

我已經嘗試了幾種替代方法,但我似乎無法得到這個工作或給我任何錯誤或線索,我做錯了什麼。 (有幾種選擇,jquery DOM操作,相同的vanilla JS,alert作爲測試,console.log作爲測試等)評論被刪除。沒有輸出到appBundle.js(只是一個空文件),沒有錯誤。腳本未運行。 TypeScript Cordova

index.ts

module BlankCordovaApp2 { 
    "use strict"; 

    export module Application { 
     export function initialize() { 
      app(); // I've also tried moving this out of the module. 
      document.addEventListener('deviceready', onDeviceReady); 

     } 

     // removed pause and resume for question. 

    } 

    window.onload = function() { 
     Application.initialize(); 
    } 
} 

app.ts

import $ = require("jquery"); 

function app() { 
    console.log('hi'); 
} 
export default app; 

tsconfig.json

{ 
    "compilerOptions": { 
     "noImplicitAny": false, 
     "noEmitOnError": true, 
     "removeComments": false, 
     "sourceMap": true, 
     "inlineSources": true, 
     "module": "amd", 
     "out": "www/scripts/appBundle.js", 
     "target": "es6" 
    } 
} 

我想, 「目標」 只是上面ES5和ES6,不知道哪個應該是一個。既沒有工作,也沒有產生任何構建或IntelliSense錯誤。

注意:我可以在Visual Studio中使用普通的JavaScript來處理類似的應用程序。

+1

in'tsconfig.json'你試過''out「:」scripts/appBundle.js「,'? –

+0

謝謝@DawsonLoudon,但是將文件放在腳本目錄而不是www /目錄中。無論如何,沒有輸出到appBundle,沒有錯誤,沒有行爲。 –

+1

當我在es5中嘗試你的代碼時,我得到了一大堆構建錯誤。如果我嘗試es6,則獲得「TS1204在瞄準'ES6'或更高時無法將模塊編譯爲'commonjs','amd','system'或'umd'。」你確定你沒有建立錯誤?你可以在什麼地方發佈你的項目嗎? –

回答

1

import $ = require("jquery");

您正在使用模塊。您需要一個模塊加載程序的WebPack。

"out": "www/scripts/appBundle.js",

如果使用模塊不要使用out。更多:https://github.com/TypeStrong/atom-typescript/blob/master/docs/out.md

+0

謝謝,當我刪除對jQuery模塊的引用時仍然不起作用。看看其他的評論,這似乎是我的配置VS或什麼是錯的,因爲邁克爾有錯誤。 –