我正在研究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'
有人能告诉我我做错了吗?
答案 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运行本书的示例,您必须
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"
。