Получение ИСКЛЮЧЕНИЯ: Невозможно прочитать свойство 'getCookie' со значением null с помощью angular-stormpath в веб-пакете
Я пытаюсь запустить этот проект: https://github.com/stormpath/stormpath-angular2-express-example работающий в веб-пакете. Приложение запускается, но когда загружается первая страница, я получаю эту ошибку:
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)
У меня есть пример установки репо здесь: https://github.com/djkrite/ng2-stormpath-webpack-example
Я пытался использовать:
BrowserDomAdapter.makeCurrent();
перед вызовом начальной загрузки, но в результате выдается еще одна ошибка о неожиданном импорте токена.
Любая помощь будет оценена.
1 ответ
Хорошие новости! Я понял, как заставить работать ng2-stormpath-webpack-example. Я думаю, что основной причиной проблемы является конфигурация машинописного текста (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
быть:
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
Я добавил типы для Protractor и обновил до 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