我试图弄清楚如何在 生产环境 中运行相当于babel-node . 我目前的项目结构如下:

top_level_of_my_application
    dist
       --index.js
    lib  
       --index.js  
    public  
       -->images
       -->...
    server  
       -->models
       -->routes
       -->...  
    .babelrc  
    app.js  
    package.json  
    node_modules

我的“lib / index.js”文件在使用以下代码创建快速服务器之前导入我的“app.js”文件:

import app     from '../app';
import http    from 'http';

// Get port from environment and store in Express.
let port = normalizePort(process.env.PORT || '3001');
app.set('port', port);

// Create HTTP server.
let server = http.createServer(app);

我的.babelrc文件如下:

{
  "ignore": ["node_modules/**/*"],
  "presets": ["env"]
}

我已经安装了babel-cli,babel-core,babel-loader和babel-preset-env,试图运行以下脚本:

"scripts": {
    "prebuild": "rm -rf dist/*",
    "build": "babel -d dist lib",
    "start": "node dist/index.js"
}

运行build之后,它会生成带有index.js的dist目录 . 但是,当我尝试运行启动时,我收到以下错误:


import 'env-import';
^^^^^^

SyntaxError:意外的令牌导入“


我的app.js文件的前几行是:

"use strict";

// Load environment vars
import 'env-import';
import express      from 'express';
import path         from 'path';

有谁知道我如何确保我的app.js和后续文件被正确转换,以便我可以从节点运行应用程序?