1

我设法在我的 ionic2 应用程序中实现了 ng2-chartjs2。当我在浏览器上运行它时(即 ionic serve 或 ionic run android -l -c),它运行良好,但是当我在设备上尝试它(即 ionic run android)时,它只是显示一个空白页面。

我已经在我的仓库中上传了工作示例项目

任何帮助,将不胜感激。谢谢。

仍然期待有人解决这个问题。

4

1 回答 1

2

那么这里的问题是 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));
        }
      });
    });

  }
}

在您的末尾,然后将index.htmlhooks -> after_prepare -> 010_add_platform_class.js中的脚本引用更改为(注意:更改了 Chart 的图表)。<script src="assets/libs/Chart.bundle.js"></script>

祝你好运!

于 2016-10-20T14:10:03.717 回答