【问题标题】:error when importing modules with es2015 syntax and babel transpilation to es5使用 es2015 语法和 babel 转译到 es5 导入模块时出错
【发布时间】:2016-07-05 11:03:04
【问题描述】:

我在将 es2015 代码转换为 ES5 时遇到问题。模块导入出现问题:

import * as express from "express"

转译为:

var _express = require("express");
var express = _interopRequireWildcard(_express);

导致错误的原因:

var app = express();
          ^
TypeError: express is not a function

但是如果我用

导入

var express = require('express');

一切正常。

我仍然想使用 es2015 语法,有没有我应该在 bable 中安装的设置或插件让它正常工作?

【问题讨论】:

  • 你是如何使用express的?
  • 看起来你应该在 express 还不支持 ES6 模块时做import express from "express";
  • 具体跟express没有关系,一般是modul导入的问题。您的解决方案有效,尽管它说 express 没有默认导出。
  • 是的,导入非 ES6 模块是一个普遍问题 :-)

标签: javascript ecmascript-6 babeljs transpiler


【解决方案1】:

使用

import express from "express"

【讨论】:

  • 我升级到了据称支持所有 es6 功能的 node js 6,甚至我自己的文件也报告了“意外”令牌....这是为什么呢?
  • Node 6 不支持所有 ES6 功能,但它确实支持其中的绝大多数。
猜你喜欢
  • 2016-05-22
  • 1970-01-01
  • 1970-01-01
  • 2016-06-12
  • 2016-02-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-24
相关资源
最近更新 更多