我有一个Angular项目,我正在使用morris.js。我的package.json像这样引用了morris和raphael:
dependencies{
....
"raphael": "^2.2.7",
"morris.js": "0.5.0",
....
}
我还检查了node_module文件夹,两个依赖项都存在。在mycomponent.ts中,我这样做:
import 'morris.js';
export class mycomponent implements OnInit {
areaChart: morris.GridChart;
.....
this.areaChart = Morris.Area({
.....)}
}
我收到错误" ERROR ReferenceError:Raphael未定义"
当morris.js做this.raphael = new Raphael(this.el[0]);
我应该如何将拉斐尔纳入莫里斯以使其发挥作用?
答案 0 :(得分:5)
我有同样的问题,我通过添加:
来完成它new webpack.ProvidePlugin({ Raphael: 'raphael' })
到我的webpack.config.js插件部分,使Raphael全球可用。 我还补充说:
new webpack.ProvidePlugin({ $: 'jquery', jQuery: 'jquery', jquery: 'jquery' })
之前,jQuery也可以在全球范围内运行。