意外的分配操作员



试图用babel/webpack将JavaScript转移在" ="符号上。任何可能发生这种情况的想法都将被大大应用。

import auth0 from './auth0-js'
import { AUTH_CONFIG } from './auth0-variables'
export default class AuthService
{
   auth0=new auth0.WebAuth({
      domain: AUTH_CONFIG.domain,
      clientID: AUTH_CONFIG.clientId,
      redirectUri: AUTH_CONFIG.callbackUrl,
      audience: `https://${AUTH_CONFIG.domain}/userinfo`,
      responseType: 'token id_token',
      scope: 'openid'
    })
}

因此,在上面的示例中, auth0=零件不会用babel/webpack进行转移。

问题与您的代码没有 - 教程对安装所需的内容的编译还不够清楚。它使用的是实验类字段语法,该语法尚未由浏览器支持,目前需要使用Babel插件。

如果您查看示例代码的.babelrc,则可以看到他们使用以下预设:

"presets": [
    ["env", { "modules": false }],
    "stage-2"
],

stage-2预设包含所有建议的JavaScript功能的插件,这些插件位于标准化过程的第2阶段或更高的阶段 - 类字段位于第3阶段,因此包括。

类字段相当安全,因为它们很可能在未来几年内将其添加到规格中 - 也就是说,如果您不想使用实验功能,则可以退回标准ES2015类语法:

export default class AuthService {
    constructor() {
       this.auth0 = new auth0.WebAuth({
            domain: AUTH_CONFIG.domain,
            clientID: AUTH_CONFIG.clientId,
            redirectUri: AUTH_CONFIG.callbackUrl,
            audience: `https://${AUTH_CONFIG.domain}/userinfo`,
            responseType: 'token id_token',
            scope: 'openid'
       });
    }
}

编辑:

值得注意的是,Babel团队现在建议在舞台预设上使用单独的插件 - 他们计划一旦Babel 7发行,他们就计划停止发布后者。有关此背后的理由,请参见他们的博客文章。

最新更新