“意外的保留字” - 在stampit.js中导入

时间:2015-07-26 03:32:28

标签: javascript qunit stampit.js

我正在研究Eric Elliott的书编程JavaScript应用程序。在其中他使用了stampit.js(https://github.com/stampit-org/stampit)。我下载了stampit.js并尝试将它与本书的例子一起使用,但我无处可去。每当我尝试从脚本标记加载stampit.js时,所有浏览器都会在第一行报告“意外保留字”:“从'lodash / collection / forEach'中导入forEach';”我也从命令行获得相同的错误与qunit。

我显然遗漏了一些东西。我试图运行带有stampit 2.1.0的测试,但它们失败并出现同样的错误:

LOAD DATA LOCAL INFILE 'abc.csv' INTO TABLE abc
FIELDS TERMINATED BY **';'** 
ENCLOSED BY '"' 
LINES TERMINATED BY '\r\n'

有人能告诉我我做错了吗?

2 个答案:

答案 0 :(得分:2)

Stampit现在使用ES6编写,其中大多数浏览器尚不支持。

import命令(在您的错误消息中)是ES6 / ES2015规范的一部分,并且暂时不受任何浏览器支持...

除非您使用transpiler,否则您需要找到一个早期(ES5兼容)版本的Stampit库。

答案 1 :(得分:1)

我想出来,写下来,并将其提交给项目。答案在这里:https://github.com/stampit-org/stampit/blob/master/docs/pjabook-updated-examples.md

(下面的编辑/添加是ChrisF要求的。对不起,我以前没有把它包括在内。)

本书的示例代码使用了Stampit 1.X.要在浏览器中加载示例,您需要在HTML页面中包含Stampit 1.X脚本(还需要QUnit脚本和CSS):

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>Programming JavaScript Applications</title>
  <link rel="stylesheet" href="//code.jquery.com/qunit/qunit-1.18.0.css">
</head>
<body>
  <div id="qunit"></div>
  <div id="qunit-fixture"></div>
  <script src="//code.jquery.com/qunit/qunit-1.18.0.js"></script>
  <script src="//cdnjs.cloudflare.com/ajax/libs/stampit/1.2.0/stampit.min.js"></script>
  <script src="example.js"></script>
</body>
</html>

将示例键入或复制到example.js,然后在浏览器中加载用于QUnit的HTML以显示测试结果。

Stampit 2.X

为了使用Stampit 2.X运行本书的示例,您必须

  1. 将Stampit脚本来源从src="//cdnjs.cloudflare.com/ajax/libs/stampit/1.2.0/stampit.min.js"更改为src="//cdnjs.cloudflare.com/ajax/libs/stampit/2.1.0/stampit.min.js"
  2. 修改示例代码以反映Stampit 1.X和2.X之间的breaking changes