Javascript SystemJS/Aurelia应用程序在PhantomJS中中断
我一直试图在Phantom中进行一些测试,但Aurelia/SystemJS似乎在Phantom中有所突破 我已经用我自己的应用程序和Aurelia contacts应用程序示例进行了测试,它们略有不同。我将在这里列出我捕获的输出: 应用程序联系人:Javascript SystemJS/Aurelia应用程序在PhantomJS中中断,javascript,node.js,phantomjs,aurelia,systemjs,Javascript,Node.js,Phantomjs,Aurelia,Systemjs,我一直试图在Phantom中进行一些测试,但Aurelia/SystemJS似乎在Phantom中有所突破 我已经用我自己的应用程序和Aurelia contacts应用程序示例进行了测试,它们略有不同。我将在这里列出我捕获的输出: 应用程序联系人: CONSOLE: INFO [aurelia] Aurelia Starting (from line #undefined in "undefined") CONSOLE: DEBUG [aurelia] Loading plugin githu
CONSOLE: INFO [aurelia] Aurelia Starting (from line #undefined in "undefined")
CONSOLE: DEBUG [aurelia] Loading plugin github:aurelia/templating-binding@0.11.0. (from line #undefined in "undefined")
TypeError: Attempting to define property on object that is not extensible.
http://localhost:9001/:48 in defineProperty
http://localhost:9001/:36
http://localhost:9001/:29 in fastKey
http://localhost:9001/:115
http://localhost:9001/:10 in set
http://localhost:9001/:51 in set
http://localhost:9001/:14 in ensureOriginOnExports
http://localhost:9001/:131
http://localhost:9001/jspm_packages/es6-module-loader.js:7 in O
http://localhost:9001/jspm_packages/es6-module-loader.js:7 in K
http://localhost:9001/jspm_packages/es6-module-loader.js:7
http://localhost:9001/jspm_packages/es6-module-loader.js:7
http://localhost:9001/jspm_packages/es6-module-loader.js:7
http://localhost:9001/jspm_packages/es6-module-loader.js:7
我的申请:
CONSOLE: Potentially unhandled rejection [2] ReferenceError: Can't find variable: Map
at http://127.0.0.1:8380/web-admin/:22
at p (http://127.0.0.1:8380/web-admin/jspm_packages/system.js:1)
at p (http://127.0.0.1:8380/web-admin/jspm_packages/system.js:1)
at p (http://127.0.0.1:8380/web-admin/jspm_packages/system.js:1)
at p (http://127.0.0.1:8380/web-admin/jspm_packages/system.js:1)
at p (http://127.0.0.1:8380/web-admin/jspm_packages/system.js:1)
at p (http://127.0.0.1:8380/web-admin/jspm_packages/system.js:1)
at p (http://127.0.0.1:8380/web-admin/jspm_packages/system.js:1)
at http://127.0.0.1:8380/web-admin/jspm_packages/system.js:1
at o (http://127.0.0.1:8380/web-admin/jspm_packages/es6-module-loader.js:7)
at p (http://127.0.0.1:8380/web-admin/jspm_packages/es6-module-loader.js:7)
at j (http://127.0.0.1:8380/web-admin/jspm_packages/es6-module-loader.js:7)
at k (http://127.0.0.1:8380/web-admin/jspm_packages/es6-module-loader.js:7)
at http://127.0.0.1:8380/web-admin/jspm_packages/es6-module-loader.js:7
at O (http://127.0.0.1:8380/web-admin/jspm_packages/es6-module-loader.js:7)
at K (http://127.0.0.1:8380/web-admin/jspm_packages/es6-module-loader.js:7)
at http://127.0.0.1:8380/web-admin/jspm_packages/es6-module-loader.js:7
at http://127.0.0.1:8380/web-admin/jspm_packages/es6-module-loader.js:7
at http://127.0.0.1:8380/web-admin/jspm_packages/es6-module-loader.js:7
at http://127.0.0.1:8380/web-admin/jspm_packages/es6-module-loader.js:7 (from line #undefined in "undefined")
FWIW这两个都在Chrome/FF中运行良好,我正在OS X 10.10上运行PhantomJS 1.9.8
这里还有一个幻影脚本,我正在使用它来测试这些和控制台的输出:
var webPage = require('webpage');
var page = webPage.create();
page.open('http://localhost:9001/', function() {
page.onConsoleMessage = function(msg, lineNum, sourceId) {
console.log('CONSOLE: ' + msg + ' (from line #' + lineNum + ' in "' + sourceId + '")');
};
});
要运行联系人应用程序(第一个示例),请运行以下命令:
git clone git@github.com:aurelia/app-contacts.git
cd app-contacts
npm install && jspm install
gulp watch
这假设您已经安装了node
、jspm
和gulp
。然后可以运行上面的phantomjs脚本
有什么想法吗?
Map
是一个全新的结构。使用npm安装harmony collections——保存开发
并将“node_modules/harmony collections/harmony collections.min.js”
添加到karma配置中。请注册到OnSolutionMessage
,onResourceError
,onResourceTimeout
事件()。可能有错误。您是否尝试过低于Phantom js 1.9的版本?我在osx上遇到了一些问题,一些1.9版本的Phantoma确认了这种方法是有效的,尽管我使用了es6集合
shim,因为它似乎维护得更好。你说的“将”…js“添加到karma配置”是什么意思?我对因果报应知之甚少。我正在使用一个由Yeoman生成器创建的karma.config.js文件,但没有要包含的文件列表或其他内容。你能告诉我更多的细节吗?在karma.conf中,将其添加到“文件数组”中,如下所示:“文件:['./node_modules/harmony collections/harmony collections.min.js']”谢谢。现在我得到了它,它起作用了。在我的例子中,文件
的值是由一个函数生成的,因此对我来说更模糊。