我试图学习redux而且我遇到了错误。我只有两个文件,一个index.html文件和一个main.js文件,在html文件中有jquery和redux cdns的链接。我在redux教程(http://redux.js.org/docs/basics/Store.html)中只得到2.3并且卡住了。我有
import {createStore} from 'redux';
在我的main.js文件的顶部,但是当我加载应用程序时,我收到一个指向上面一行的错误
SyntaxError: import declarations may only appear at top level
什么是顶级导入声明'?
如果有帮助,这是我的代码的要点。 https://gist.github.com/austincarvey/6e6c8fdc2640b0f9bbfb
答案 0 :(得分:9)
Web浏览器无法识别import
指令。它在编译阶段用于将不同的源文件和第三方模块组合到一个Web包中。如果这没有意义,那么我强烈建议学习Babel和Webpack或Browserify。 Babel将ES6和React语法转换为浏览器友好的ES5代码,而Webpack / Browserify捆绑您的模块。
现在,如果您只想继续学习Redux,只需删除import语句,而不是使用gist中redux CDN脚本公开的全局变量Redux
。即。
var store = Redux.createStore(counterReducer);
答案 1 :(得分:3)
import
(Browserify / Webpack / etc,未来版本的浏览器)。
由于您通过<script>
标记包含Redux lib,因此需要在全局范围内包含Redux
。
对于你的要点,如果你删除第一行并在29日将createStore
调用更改为Redux.createStore
,那么一切都应该有效。