2016-04-25 35 views
3

我改變了我的應用程序文件,包括應用程序的文件擴展名/ app.js無法從JS切換到TS離子2

Error: Cannot find module 'app/app.js' from 'app_folder'

它不告訴我,我應該看哪個文件修復錯誤。

我試着用git grep尋找和閱讀一些關於Angular2的切入點,找出它加載,但還沒有運氣。

+1

切換的最佳方式來自es5/es6打印腳本將啓動一個新項目並導入所有文件。 $ ionic start MyIonic2Project教程--v2 --ts –

回答

3

使用打字稿到Ionic2項目不只是交換文件的擴展名;-)

您需要的打字稿編譯器與gulp-tsc'插件集成到咕嘟咕嘟:

var typescript = require('gulp-tsc'); 

(...) 

gulp.task('compile', function() { 
    gulp.src(paths.src) 
    .pipe(typescript({ 
     emitError: false 
    })) 
    .pipe(gulp.dest('www/js/')) 
}); 

此頁面可以幫助你:

+0

我沒有在離子2中的任何地方看到這些腳本。我用「ts'看着一個新的離子項目。 另外,我之所以認爲它可以自動無需安裝進行檢測'一飲而盡,tsc'是因爲即使是當你建立一個離子2項目,'js',裏面的文件的腳本幾乎是相同的。 – Emanuel

+0

我的答案中提供的代碼必須發生在'gulpfile.js'文件中。是的幾乎相同;-)因爲TypeScript是ES6的超集,但有一些差異。這個問題可以幫助你:http://stackoverflow.com/questions/36820243/angular-2-typscript-or-angular-2-javascript-which-one-is-advisable/36820376#36820376。 –

2

Thierry Templier讓我走上正軌,這裏是答案。萬一別人

文檔很納悶。

Ionic2不同於ionic1基本上現在使用browserify。從ES6切換到TS,你就需要設置typscirpt爲您的項目,並設置像這樣的依賴關係:

  1. gulpfile.js變化var buildBrowserify = require('ionic-gulp-browserify-es2015');
    var buildBrowserify = require('ionic-gulp-browserify-typescript');
  2. package.json變化ionic-gulp-browserify-es2015": "^1.0.2"
    "ionic-gulp-browserify-typescript": "^1.0.0"
  3. Install typescript

    3.1 npm install typings --global

    3.2 tsd query node --action install --save

  4. 請確保您有文件your_app/typings/main.d.ts
    與內容:/// <reference path="main/ambient/es6-shim/index.d.ts" />

  5. 最後的tsconfig.json文件

    tsconfig{ "compilerOptions": { "target": "es5", "module": "commonjs", "emitDecoratorMetadata": true, "experimentalDecorators": true }, "filesGlob": [ "**/*.ts", "!node_modules/**/*" ], "exclude": [ "node_modules", "typings/main", "typings/main.d.ts" ], "compileOnSave": false, "atom": { "rewriteTsconfig": false } }