Opencpu 和流星

Opencpu and Meteor

我见过 some examples 将 opencpu 与 angular 一起使用,但没有在 meteor 中使用 opencpu 的示例(其中 angular 可以很容易地实现)。

是否像在 meteor 中包含 ocpu.seturljquery.min.js 一样简单(就像 here 所做的那样),或者在使用 opencpu 时是否需要在 meteor 中有不同的想法?

例如,there might be some conflicts between angular and meteor.

我知道这是一个分散的问题,但我发现我不是唯一对此感到疑惑的人。
相关:

例如(感谢http://jsfiddle.net/ramnathv/uatjd/15/):

var myApp = angular.module('myApp', ['angular-meteor']); //added 'angular-meteor'

//set CORS to call "stocks" package on public server
ocpu.seturl("//public.opencpu.org/ocpu/library/graphics/R")


myApp.factory('OpenCPU', function($http){
  return {
     Dist: function(dist){
       var url = "http://public.opencpu.org//ocpu/library/stats/R/" + dist + 
          "/json"
       return $http.post(url, {n: 100})
     }
  }
})

myApp.controller("HistCtrl", function($scope, $http, OpenCPU){    
    $scope.dist = 'rnorm'
    $scope.dists = ['rnorm', 'runif']
    $scope.color = 'blue'
    $scope.colors = ['blue', 'red', 'darkmagenta']
    $scope.breaks = 10
    $scope.submit = function(){
      var req = $("#plotdiv").rplot("hist", {
         x : $scope.data,
         col: $scope.color,
         breaks: Math.floor($scope.breaks),
         main: $scope.main
      });   
    }
    $scope.$watchCollection('[main, color, breaks, data]', function(x){
     $scope.submit()  
    })
    $scope.$watch('dist', function(newDist){
       OpenCPU.Dist(newDist).success(function(result){
         $scope.data = result  
       }) 
    })
})

以上是 "correct" 的起点吗?应该如何在 meteor 中声明依赖关系(即 opencpu,jquery.min.js)? meteor 的新手,所以非常感谢任何建议!

不使用 angular(不确定为什么需要那个),但这是 meteor 中的超级基本设置:

HTML:

<head>
  <title>opencpu</title>
  <script src="//cdn.opencpu.org/opencpu-0.4.js"></script>
</head>

<body>
  <h1>Testing OpenCPU</h1>
  {{> hello}}
</body>

<template name="hello">
</template>

JS:

if (Meteor.isClient) {

    Template.hello.onRendered(function() {
        // ocpu.seturl("//public.opencpu.org/ocpu/library/graphics/R");
        // couldn't come up with a good example for this

        ocpu.seturl("//public.opencpu.org/ocpu/library/stats/R")
        // this gives me a CORS error but the below still seems to work
        console.log(ocpu);

        var req1 = ocpu.call("rnorm", {n: 100}, function(session1){
            var req2 = ocpu.call("var", {x : session1}, function(session2){
                session2.getObject(function(data){
                    alert("Variance equals: " + data);
                });
            });
        });
    });
}

我在过去 30 分钟内学到的关于 opencpu 的所有知识 -- 很少!所以我不知道如何克服 CORS 错误。指向图形包时似乎没有发生该错误,但是对于那个我想不出一个很好的例子。