Ionic 2 - ng2-chartjs2 работает в браузере, но не в устройстве
Мне удалось реализовать ng2-chartjs2 в моем приложении ionic2. Он отлично работает, когда я запускаю его в браузере (т.е. ionic serve или ionic run android -l -c), но когда я пробовал его на устройстве (т.е. ionic run android), он просто показывает пустую страницу.
Я загрузил рабочий пример проекта в моем репо здесь
Любая помощь будет оценена. Благодарю.
Все еще ожидаю, что кто-то прояснит этот вопрос.
1 ответ
Решение
Проблема в том, что Chart.bundle.js не находится на ожидаемом пути при сборке Android.
Добавь это:
var availablePlatforms = (process.env.CORDOVA_PLATFORMS ? process.env.CORDOVA_PLATFORMS.split(',') : []);
var filestocopy = [
{"src/assets/libs/Chart.bundle.js": "platforms/android/assets/libs/Chart.bundle.js"}
];
for(var x=0; x<availablePlatforms.length; x++) {
var currentPlatform = availablePlatforms[x].trim().toLowerCase();
if (currentPlatform == 'android') {
filestocopy.forEach(function(obj) {
Object.keys(obj).forEach(function(key) {
var val = obj[key];
var srcfile = path.join(rootdir, key);
var destfile = path.join(rootdir, val);
var destdir = path.dirname(destfile);
if (fs.existsSync(srcfile) && fs.existsSync(destdir)) {
fs.createReadStream(srcfile).pipe(
fs.createWriteStream(destfile));
}
});
});
}
}
В конце вашего hooks -> after_prepare -> 010_add_platform_class.js
затем измените ссылку на скрипт внутри вашего index.html на <script src="assets/libs/Chart.bundle.js"></script>
(примечание: изменен график для диаграммы).
Удачи!