2017-01-24 10 views
2

既存のanguar.jsアプリをhttps://angular.io/docs/ts/latest/guide/upgrade.htmlに続いて角度2にアップグレードしようとしています。ParseErrorを解決するにはどうすればよいですか? 'import'と 'export'はUpgradeAdapterをインポートする際に 'sourceType:module'としか表示されませんか?

アプリはすでにTypescriptで書かれています。私たちはbrowserifyとtsifyを使ってアプリをコンパイルしてバンドルしています。

import {platformBrowserDynamic} from '@angular/platform-browser-dynamic'; 
import {AppModule} from './app.module'; 
import {UpgradeModule} from '@angular/upgrade/static'; 

platformBrowserDynamic().bootstrapModule(AppModule).then(platformRef => { 
    const upgrade = platformRef.injector.get(UpgradeModule) as UpgradeModule; 
    upgrade.bootstrap(document.documentElement, ['sagaDesktopApp']); 
}); 

/my-project/node_modules/@angular/upgrade/static.js:8 
export { downgradeComponent } from './src/aot/downgrade_component'; 
^ 
ParseError: 'import' and 'export' may appear only with 'sourceType: module' 

エラーのみ次のコードを追加した後に現れる:

NPMと角度2の依存関係をインストールし、ハイブリッドアプリケーションをブートストラップするために試みた後、browserifyは私に次のエラーを与えます

これは私のtsconfig.jsonです:

{ 
    "compilerOptions": { 
     "target": "es5", 
     "module": "commonjs", 
     "moduleResolution": "node", 
     "sourceMap": true, 
     "emitDecoratorMetadata": true, 
     "experimentalDecorators": true, 
     "removeComments": false, 
     "noImplicitAny": false, 
     "suppressImplicitAnyIndexErrors": true 
    } 
} 

どんな助けでも大歓迎です。

答えて

2

私は問題を再現しました。

node_modules/@angular/upgrade/static/package.json 

node_modules/@angular/upgrade/static.js 

それが解決するためしかし、意図がある:それはそこにstatic.jsファイルが@angular/upgradeにあり、Browserifyは、それが解決さ@angular/upgrade/staticを解決しようとするときという事実に関係していますstaticディレクトリのpackage.jsonには、mainエントリが含まれています。このエントリは、BrowserifyのようなES6以外のバンドルで使用されます。

ディレクトリの前にファイルをチェックするので、問題を解決するために、インポートに末尾にスラッシュを追加はずのBrowserify模倣Node's module resolution mechanismと:

import { UpgradeModule } from '@angular/upgrade/static/'; 

Browserifyは、最初のディレクトリをチェックし、解決しますバンドルにpackage.jsonを追加します。

さらに詳しい情報がpackage.jsonファイルのmain/moduleにあります。this Tsify issueです。

+0

ありがとうございました!スラッシュを追加するとそれが修正されました:-) – larslonne

関連する問題