【问题标题】:Javascript JSX, illegal import declarationJavascript JSX,非法进口申报
【发布时间】:2015-10-15 22:22:42
【问题描述】:

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

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

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

//从“a.jsx”导入所有不以“_”开头的类

导入“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>

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

【问题讨论】:

    标签: javascript reactjs react-jsx refluxjs


    【解决方案1】:

    如果你使用 Babel:

    export default ClickedAction; // in action file
    

    否则,使用旧模块:

    module.exports = ClickedAction; // in action file
    
    require('actions/clickedActions.jsx');  // in another file
    

    【讨论】:

    • 感谢您的回答。没有 RequireJS 有什么方法可以实现这一点?
    • 您可以使用 webpack 来构建应用程序。或者任何其他工具 .JS 没有在没有构建工具的情况下工作的模块。
    猜你喜欢
    • 2017-11-21
    • 2015-12-24
    • 1970-01-01
    • 1970-01-01
    • 2021-11-04
    • 1970-01-01
    • 2016-03-16
    • 1970-01-01
    • 2019-10-19
    相关资源
    最近更新 更多