Ionic 2 - ng2-chartjs2 在浏览器上工作但在设备上不工作
Ionic 2 - ng2-chartjs2 working on browser but not in device
我已经成功地在我的 ionic2 应用程序中实现了 ng2-chartjs2。当我 运行 它在浏览器上(即 ionic serve 或 ionic 运行 android -l -c)但当我在设备上尝试它时(即 ionic 运行 android), 它只是显示一个空白页面。
我已经上传了工作示例项目in my repo here
如有任何帮助,我们将不胜感激。谢谢
仍然期待有人解决这个问题。
这里的问题是 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>
(注意:已更改图表对于图表)。
祝你好运!
我已经成功地在我的 ionic2 应用程序中实现了 ng2-chartjs2。当我 运行 它在浏览器上(即 ionic serve 或 ionic 运行 android -l -c)但当我在设备上尝试它时(即 ionic 运行 android), 它只是显示一个空白页面。
我已经上传了工作示例项目in my repo here
如有任何帮助,我们将不胜感激。谢谢
仍然期待有人解决这个问题。
这里的问题是 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>
(注意:已更改图表对于图表)。
祝你好运!