PhantomJs:找不到变量图

run*_*ero 18 javascript phantomjs karma-runner

我收到以下错误:

INFO [karma]: Karma v0.13.9 server started at http://localhost:9018/

INFO [launcher]: Starting browser PhantomJS

PhantomJS 1.9.8 (Mac OS X 0.0.0) ERROR
      ReferenceError: Can't find variable: Map
      at /Users/runtimeZero/code/vendor/inert/inert.min.js:589
Run Code Online (Sandbox Code Playgroud)

我知道我正在使用一个名为inert.js的文件 ,它使用的是ES6 Map().这让PhantomJs吓坏了.

所以我在我的karma配置文件中包含了core-js/es6/map.js polyfill.但是,这并不能解决问题.

有小费吗 ?

jam*_*ara 15

我认为PhatomJS不支持ES6 Map,所以你需要尝试使用polyfill,我正在使用babel polyfill npm install babel-polyfill --save-dev

files: [
    { pattern: 'node_modules/babel-polyfill/browser.js', instrument: false}, 
],
Run Code Online (Sandbox Code Playgroud)

  • 这应该是数组中的第一个条目 (3认同)

Sul*_*Aga 8

你需要安装es6-shim并将其添加到karma配置文件中的文件部分.

npm install es6-shim --save
Run Code Online (Sandbox Code Playgroud)

在你的karma.config.js中将它添加到你的文件列表中

files: [
    'node_modules/es6-shim/es6-shim.js'
]
Run Code Online (Sandbox Code Playgroud)

  • 这给我带来了另一个错误:`ReferenceError:找不到变量:WeakMap` (5认同)