2016-12-04 3 views
0

Я использую образец проекта с сайта auth0.com для настройки страницы входа для своего приложения и включения входа в социальные сети. Однако я сталкиваюсь с некоторыми проблемами при попытке развернуть его на bluemix. Видеоурок, который я следую, - это https://www.youtube.com/watch?v=sHhNoV-sS_I&t=559s , однако примерный проект немного отличается от образца в видео. Для ее выполнения потребовалась команда «npm serve». Когда я нажимаю свой проект, используя cf push, он показывает 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 init (https://docs.npmjs.com/cli/init), чтобы создать стартовый файл package.json, если у вас его еще нет.

+0

Я добавил package.json с «скриптами»: { «start»: «serve» }, но он по-прежнему не работает. Пропустил ли я часть, которую вы упомянули, «объявить зависимости»? Как мне это сделать? –

+0

Вызовите ваши установки npm с помощью '--save', чтобы добавить их в список зависимостей в файле' package.json', или посмотрите на справочный документ, как их написать самостоятельно: https://docs.npmjs.com /files/package.json – nitind