2016-04-25 69 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 } }