尝试将easel-js作为供应商库包含在Aurelia应用程序中。我是ESNext和模块系统的新手,我收到了一个令人困惑的错误 - 刚刚通过从app.js或我获得的任何组件js文件中创建一个舞台来与画架js交互的顶部strong>"未处理的拒绝类型错误:舞台不是构造函数。"
这是我的组件中的代码行,在dom附加后调用。
this.stage = new createjs.Stage("canvasName");
我最初通过将easel-js脚本标记破解到index.html文件中直接在app.js中工作。我可以在一个文件中创建一个舞台并绘制形状,没问题。我知道这不是正确的方法,我想将画架-js交互划分为不同的类,所以请阅读第三方javascript库作为Aurelia中的依赖项并执行以下操作:
我在项目目录中执行了一个nt安装的easel-js,检查了这样创建的node_modules中的目录。在easel-js的lib目录中,我找到了缩小的js版本,这是我之前手动包含的相同版本(0.8.2)。我编辑了Aurelia.json以添加依赖关系,如下所示:
"依赖":[ "画架-JS&#34 ;, "奥里利亚结合",
然后我将代码转移到另一个ES6类,从app.js调用,并包含一个导入。
import * as createjs from "../../scripts/vendor-bundle";
瞧,现在正在以黑客的方式工作的东西抛出了#34;而不是构造者"当我尝试新建一个画架舞台时。
我注意到的一件事是在node_modules下的easel-js的lib目录中,有许多js文件:
README.md easeljs-NEXT.combined.js webgl-0.8.2.min.js
easeljs-0.8.2.combined.js easeljs-NEXT.min.js webgl-NEXT.combined.js
easeljs-0.8.2.min.js webgl-0.8.2.combined.js webgl-NEXT.min.js
我也不确定它们之间的区别。我手动包含并从app.js开始工作的画架js库是他们网站上的0.8.2.min.js。当我为我的项目检查Aurelia的vendor-bundle.js文件时,看起来它正在拉动那个以hacky方式为我工作的文件。
function _aureliaConfigureModuleLoader(
{requirejs.config({"baseUrl":"src/",
"paths":{"aurelia-dependency-injection":"../node_modules/aurelia-dependency-injection/dist/amd/aurelia-dependency-injection",
"easel-js":"../node_modules/easel-js/lib/easeljs-0.8.2.min",
有什么想法吗?