我正在通过Babel在NodeJS env中编写ES6。这是我的.babelrc
文件:
{
"presets": ["es2015", "stage-2"],
"plugins": []
}
是的,非常简单。我使用npm脚本启动命令:
"build-server": "babel server/lib -d server/dist",
"build-server:w": "babel server/lib -w -d server/dist",
它很棒。在server/
下,我有一个lib
文件夹,其中包含我的源代码和dist
文件夹,其中包含' babel-code'。
通常情况下,我可以这样写:
import { ModuleAPI } from './api/moduleAPI';
import { path } from 'path';
import { fs } from 'fs';
import { express } from 'express';
let app = express();
成功地编译成:
'use strict';
var _moduleAPI = require('./api/moduleAPI');
var _path = require('path');
var _fs = require('fs');
var _express = require('express');
var app = (0, _express.express)();
问题是,当我执行node server/dist/server.js
时,会抛出错误:
var app = (0, _express.express)();
^
TypeError: (0 , _express.express) is not a function
我见过一些类似的'问题: https://stackoverflow.com/questions/35187535/using-babel-jest-and-get-typeerror-0-createclass3-default-is-not-a-functio webpack babel es7 async function error "TypeError: (0 , _typeof3.default) is not a function"
但我无法让我的代码与Babel一起使用。
有什么想法吗?
答案 0 :(得分:8)
您需要移除express
周围的大括号。
import express from 'express';
express
不会导出express
属性。