顶级javascript导入 - Redux

时间:2015-12-31 00:00:21

标签: javascript redux

我试图学习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

2 个答案:

答案 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)

当您通过支持它们的上下文中的es6模块包含文件时使用

import(Browserify / Webpack / etc,未来版本的浏览器)。

由于您通过<script>标记包含Redux lib,因此需要在全局范围内包含Redux

对于你的要点,如果你删除第一行并在29日将createStore调用更改为Redux.createStore,那么一切都应该有效。