对于客户端代码,您正在做正确的事情。babelify并将其运送给客户。
对于服务器端代码,我将使用babel-cli进行常规构建
  根据http://babeljs.io/docs/setup/#babel_register的说明,babel-register它并不用于生产用途-在简单情况下,主要建议使用require钩子。
适用于Babel 6+
从Babel 6开始,默认情况下不包含任何转换。因此,让我们从安装babel-cli和开始babel-preset-es2015。
$ npm install --save-dev babel-cli babel-preset-es2015
向您的.babelrc文件添加转换-这是我们上面下载的perst模块。查看预设的完整列表,以查看最适合您的预设。
{
  "presets": ["es2015"]
}
将build脚本添加到中package.json。以下src是您的输入文件,build是转换后的输出文件
"scripts": {
  "build": "babel src -d build"
}
然后建立它!
$ npm run build
然后运行您的代码。此时,您将要执行目录中的build文件
$ npm start
对于Babel <= 5,只需使用require钩子即可。
require("babel/register");
  扩展名.es6,.es,.jsx和.js的节点所需的所有后续文件都将由Babel转换。该填充工具也需要自动。
您将能够将源文件保留在ES6中,但仍然可以使用 node server.js
根据您的评论,您似乎遇到了一些麻烦。请特别注意上面黄色突出显示的部分。您的第一个文件只能是ES5,它由节点本身运行。随后的所有需求将由Babel改变...
这是典型设置的样子
server.js
require("babel/register");
var app = require("./app.js");
app.js
燃烧起来;动起来!
$ node server.js
     
              
require("babel/register");server.js,然后在运行时node server.js收到错误消息:Unexpected reserved word: import ...似乎没有起作用