2016-12-13 9 views
0

私はこのプロジェクトを取得しようとしています:https://github.com/stormpath/stormpath-angular2-express-example webpackで実行しています。私が使用しようとしたhttps://github.com/djkrite/ng2-stormpath-webpack-exampleEXCEPTION:ウェブパックでangle-stormpathのnullの 'getCookie'プロパティを読み取ることができません

BrowserDomAdapter.makeCurrent(); 
アプリケーションが起動しますが、私はこのエラーを取得しています最初のページをロードするとき:

TypeError: Cannot read property 'getCookie' of null 
at CookieXSRFStrategy.configureRequest (app.js:51374) 
at XHRBackend.createConnection (app.js:51414) 
at httpRequest (app.js:51752) 
at StormpathHttp.Http.get (app.js:51863) 
at StormpathHttp.get (app.js:78381) 
at Stormpath.getAccount (app.js:49917) 
at new Stormpath (app.js:49906) 
at _View_AppComponent_Host0.createInternal (host.ngfactory.js:20) 
at _View_AppComponent_Host0.AppView.create (app.js:42393) 
at _View_AppComponent_Host0.DebugAppView.create (app.js:42593) 

は、私はここのサンプルレポを設定していますブートストラップコールの前に

が発生しますが、予期しないトークンのインポートに関する別のエラーが発生します。

ご協力いただければ幸いです。

+0

私はあなたのレポのクローンを作成し、&&のNPM start'をインストールNPM '実行して、問題を再現してみました。私がこれを行うと、localhost:4200上で動作するものはありませんが、localhost:3000上で実行されているようです。 localhost:3000を開くと、私のコンソールに次のエラーが表示されます: 'エラー:ENOENT:そのようなファイルやディレクトリはありません '/Users/mraible/dev/ng2-stormpath-webpack-example/index.html' atエラー(ネイティブ) ' –

+0

Webpackはhttps:// localhost:4200(https)で実行されており、http:// localhost:3000上で動作しています。ストームパス要求は、ポート3000のエクスプレスサーバーにプロキシされます。https://stormpath.com/blog/angular-2-user-authenticationと同じように動作しますが、「ng serve」ではなくwebpackで動作します。ここにスクリーンショットがあります:https://drive.google.com/file/d/0B3n94fXDBWwheE1vVmpHbjJQUWM/view?usp=sharing –

+0

ああ、私はlocalhost:4200でHTTPSを見逃しました。私は今調査中です。 –

答えて

1

良いニュース!私はng2-stormpath-webpack-exampleの作業を行う方法を考え出しました。問題の根本的な原因は、typescriptの設定(tsconfig.json)がsrcディレクトリにあり、webpackがルートディレクトリに存在することだと思います。ここでは(私はルートディレクトリに移動し、覚えている)作品tsconfig.jsonファイルがあります:

{ 
    "compilerOptions": { 
    "declaration": false, 
    "emitDecoratorMetadata": true, 
    "experimentalDecorators": true, 
    "lib": ["es6", "dom"], 
    "mapRoot": "./", 
    "module": "commonjs", 
    "moduleResolution": "node", 
    "outDir": "../dist/out-tsc", 
    "sourceMap": true, 
    "target": "es5", 
    "types": [ 
     "jasmine", 
     "node" 
    ], 
    "exclude": [ 
     "node_modules" 
    ] 
    } 
} 

私はあることをwebpack.config.jsにWebPACKのローダーを変更:

module: { 
    loaders: [ 
     { 
     test: /\.ts$/, 
     loaders: ['awesome-typescript-loader', 'angular2-template-loader?keepUrl=true'], 
     exclude: [/\.(spec|e2e)\.ts$/, /node_modules/] 
     }, 
     /* Embed files. */ 
     { 
     test: /\.(html|css)$/, 
     loader: 'raw-loader', 
     exclude: /\.async\.(html|css)$/ 
     }, 
     /* Async loading. */ 
     { 
     test: /\.async\.(html|css)$/, 
     loaders: ['file?name=[name].[hash].[ext]', 'extract'] 
     } 
    ] 
    } 

私はまた、空の解決の拡張子を削除しました:

resolve: { 
    extensions: ['.js', '.ts'] 
    }, 

は最後に、package.jsonに、私は分度器のためのタイプを追加し、WebPACKの2.xのにアップグレード

"devDependencies": { 
    ... 
    "@types/selenium-webdriver": "2.53.33", 
    ... 
    "webpack": "2.2.0-rc.1", 
    "webpack-dev-server": "^1.16.2" 
    } 

は、ここで修正して、プルリクエストです:https://github.com/djkrite/ng2-stormpath-webpack-example/pull/1

関連する問題