【问题标题】:What need to use import directive in javascript什么需要在 javascript 中使用 import 指令
【发布时间】:2017-08-17 15:11:55
【问题描述】:

根据this,任何浏览器都应该接受import语句(实际上,不是,参见cmets),但是当我尝试使用它时,chrome会产生错误的令牌,语法错误。

这是react 应用程序。 我的 html 看起来像

<!DOCTYPE html>
<html lang="en" ng-app="myApp" class="no-js"> <!--<![endif]-->
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <title>CODETutorial Mean seed</title>
  <script src="bower_components/jquery/dist/jquery.js"></script>
  <script src="bower_components/react/react.js"></script>
  <script src="bower_components/react-dom/dist/react-dom.js"></script>
  <script src="bower_components/react-router-dom/index.js"></script>
  <link rel="stylesheet" href="bower_components/bootstrap/dist/css/bootstrap.css">
  <script src="bower_components/bootstrap/dist/js/bootstrap.min.js"></script>
</head>
<body>
  <div id="root">
    <div id="navbar"></div>
  </div>
  <script src="dist/navbar.js"></script>
</body>
</html>

在 navbar.jsx 中导入和使用 Link 语句:

import { Link } from 'react-router-dom';

var NavLink = React.createClass({
  render: function(){
    return(
      <li className={(this.props.active ? "active" : "")}>
        <Link to={this.props.linkTo}>{this.props.text}</Link>
      </li>
    );
  }
});

...

导入有什么问题?

【问题讨论】:

  • 实际上,根据您的链接,import“才开始在浏览器中原生实现”。如果您点击链接,您会发现它根本没有得到很好的支持(例如,Chrome 仅在您启用实验性功能时才支持它)。
  • 是的,感谢您指出这一点。是否有 babel 命令来转换导入?

标签: javascript node.js reactjs jsx babeljs


【解决方案1】:

您仍然需要使用 babel,或者跳过一些步骤才能真正让模块在您的代码中工作。如果你不想使用 babel,可以按照这里的指南进行操作:https://blogs.windows.com/msedgedev/2017/08/10/es-modules-node-today/amp/?utm_content=bufferb6a65&utm_medium=social&utm_source=twitter.com&utm_campaign=buffer

【讨论】:

  • 我使用 babel 作为编译器(转译器):babel src -d dist -w
  • 其实不是原生 JavaScript,我得用 babel。
猜你喜欢
  • 1970-01-01
  • 2011-01-15
  • 1970-01-01
  • 2016-12-25
  • 2014-08-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多