Javascript JSX,非法导入声明

标签 javascript reactjs refluxjs

我有一个使用带有 Reflux 的 React 组件的 jsx 文件。只有一个微小的 Action :

var ClickedAction = Reflux.createActions([
  'clicked'
]);

如何将此操作移动到另一个文件?根据JSX documentation ,应该很容易包含其他文件:

// import all classes that do not start with "_" from "a.jsx"

import "a.jsx";

我尝试将其移动到 actions/clickedAction.jsx (或 .js)中并使用 import "actions/clickedActions.jsx" 导入它但我不断收到Illegal import declaration 。我怎样才能实现这个目标?

我没有使用 RequireJS,并且希望尽可能避免使用它。我发现的一种替代解决方案是将其包含在 HTML 文件中,

<script type='text/javascript' src='xxxxx/actions/clickedAction.js")'></script>

,但这并不理想,想寻找其他方法。感谢您的关注和帮助。

最佳答案

如果你使用 Babel:

export default ClickedAction; // in action file

否则,使用旧模块:

module.exports = ClickedAction; // in action file

require('actions/clickedActions.jsx');  // in another file

关于Javascript JSX,非法导入声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31624187/

相关文章:

Javascript onClick 创建和删除 iframe

javascript - 在 IE7 中加载外部 Javascript 文件的问题

javascript - 在 ReactJS 中返回两个相同的属性而不是一个

javascript - 如何解决因在 React 中循环浏览图像而导致速度变慢的问题?

javascript - 回流 Action 全局调试

javascript - store 改变后回流回调

javascript - 为什么我的 div 不能在滚动时淡入

javascript - 使用 Paypal Cordova 插件,无法使用生产或沙盒模式使其工作

reactjs - material-ui的AppBar如何添加搜索栏?

reactjs - 在回流中,我如何从asp.net web api获取数据