2016-12-04 80 views
0

我正在使用来自auth0.com的示例项目来自定义我的应用程序的登录页面并启用社交媒体登录。不过,当我尝试将其部署到bluemix时遇到了一些问题。 我遵循的视频教程是https://www.youtube.com/watch?v=sHhNoV-sS_I&t=559s 但是,示例项目与视频中的示例项目有点不同。它需要命令“npm serve”来运行它。当我使用cf推送我的项目时,它显示noappdecked。我怎样才能将我的项目部署到bluemix? 的app.js代码和HTML代码是这样如何将auth0应用程序部署到bluemix

<!DOCTYPE html> 
<html> 
    <head> 
    <title>Auth0-VanillaJS</title> 
    <meta charset="utf-8"> 

    <!-- Auth0 lock script --> 
    <script src="//cdn.auth0.com/js/lock/10.3.0/lock.min.js"></script> 
    <script src="auth0-variables.js"></script> 

    <script src="app.js"></script> 

    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    </head> 
    <body> 
    <img alt="avatar" id="avatar" style="display:none;"> 
    <p>Welcome <span id="nickname"></span></p> 
    <button type="submit" id="btn-login">Sign In</button> 
    <button type="submit" id="btn-logout" style="display:none;">Sign Out</button> 
    </body> 

window.addEventListener('load', function() { 

    var lock = new Auth0Lock(AUTH0_CLIENT_ID, AUTH0_DOMAIN); 

    // buttons 
    var btn_login = document.getElementById('btn-login'); 
    var btn_logout = document.getElementById('btn-logout'); 

    btn_login.addEventListener('click', function() { 
    lock.show(); 
    }); 

    btn_logout.addEventListener('click', function() { 
    logout(); 
    }); 

    lock.on("authenticated", function(authResult) { 
    lock.getProfile(authResult.idToken, function(error, profile) { 
     if (error) { 
     // Handle error 
     return; 
     } 
     localStorage.setItem('id_token', authResult.idToken); 
     // Display user information 
     show_profile_info(profile); 
    }); 
    }); 

    //retrieve the profile: 
    var retrieve_profile = function() { 
    var id_token = localStorage.getItem('id_token'); 
    if (id_token) { 
     lock.getProfile(id_token, function (err, profile) { 
     if (err) { 
      return alert('There was an error getting the profile: ' + err.message); 
     } 
     // Display user information 
     show_profile_info(profile); 
     }); 
    } 
    }; 

    var show_profile_info = function(profile) { 
    var avatar = document.getElementById('avatar'); 
    document.getElementById('nickname').textContent = profile.nickname; 
    btn_login.style.display = "none"; 
    avatar.src = profile.picture; 
    avatar.style.display = "block"; 
    btn_logout.style.display = "block"; 
    }; 

    var logout = function() { 
    localStorage.removeItem('id_token'); 
    window.location.href = "/"; 
    }; 

    retrieve_profile(); 
}); 

回答

1

你会使用package.json方法在https://console.ng.bluemix.net/docs/runtimes/nodejs/index.html#nodejs_runtime记录,首先要申报serve包作为您的一个依赖项,然后指示scripts.start脚本应该做什么(运行npm serve)。如果您还没有文件,您可以使用npm inithttps://docs.npmjs.com/cli/init)创建一个起始文件package.json

+0

我用“脚本”添加了package.json:{ “start”:“serve” },但它仍然不起作用。我是否错过了“声明依赖关系”提到的部分?我应该怎么做? –

+0

用'--save'调用你的npm安装,将它们添加到'package.json'文件中的依赖关系列表中,或者查看参考文档以了解如何自己编写它们:https://docs.npmjs.com /files/package.json – nitind

相关问题