我试图弄清楚如何在 生产环境 中运行相当于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和后续文件被正确转换,以便我可以从节点运行应用程序?