错误ReferenceError:未定义OktaSignIn

时间:2017-04-26 06:42:54

标签: angular angular2-services webpack-2 okta okta-api

我正在尝试将okta与webpack和angular2集成,我正在使用几乎所有内容并且最终出现错误。 我正在使用https://angular.io/resources/zips/webpack/webpack.zip中的设置,并遵循http://developer.okta.com/blog/2017/03/27/angular-okta-sign-in-widget

中正确提到的内容

我试图导入okta-sign-in.min.js 在vendor.ts以及okta.service.ts中 与

import '@okta/okta-signin-widget/dist/js/okta-sign-in.min';

文件被导入但我仍然得到OktaSignIn未定义错误

enter image description here

感谢您提前提供任何帮助..

4 个答案:

答案 0 :(得分:2)

你绝对不会遵循这些步骤。 根本没有这条线的重要性。

import '@okta/okta-signin-widget/dist/js/okta-sign-in.min';

okta-sign-in.min是一个javascript,需要包含在index.html中。 如果您正在使用angular-cli,那么如教程

中所述
"scripts": [
  "../node_modules/@okta/okta-signin-widget/dist/js/okta-sign-in.min.js"
],

正确提到了教程中的所有步骤。

第1步:创建1项服务

declare let OktaSignIn: any;

此行将是必需的,根据需要在此处初始化构造函数。

第2步:在whatevercomponent.component.ts中调用此服务。

答案 1 :(得分:0)

step1
import '@okta/okta-signin-widget/dist/js/okta-sign-in.min';
step2:
"scripts": [
  "../node_modules/@okta/okta-signin-widget/dist/js/okta-sign-in.min.js"
],
step3:
declare let OktaSignIn: any;
step4:
var Oktasignin=new Oktasignin('okta-signin-widget');

答案 2 :(得分:0)

替换

declare let OktaSignIn: any;
import '@okta/okta-signin-widget/dist/js/okta-sign-in.min';

通过

var OktaSignIn = require('@okta/okta-signin-widget');

只是因为tslint而不是webpack

而在某处读到

答案 3 :(得分:0)

这需要正确的键入和正确的库集成的结合。遗憾的是,Okta并未在其文档或库维护者对Github存储库中问题的回复中变得如此简单或清晰。

@parth-ghiya was most of the way there,但他的方法缺乏打字支持。

这是我的输入内容,因此我可以将小部件用作全局(环境)类型。

2014    False
2015    False
Name: Longitude, dtype: bool