I have a simple node server:
//server.js
import express from 'express';
import React from 'react';
...
When I try to run this using Forever:
forever start -c "babel-node --experimental" server.js
, it errors out due to use of import
/Applications/MAMP/htdocs/React/ReactBoilerplates/koba04/app/server.js:1
(function (exports, require, module, __filename, __dirname) { import express
^^^^^^
SyntaxError: Unexpected reserved word
at Module._compile (module.js:439:25)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:902:3
error: Forever detected script exited with code: 8
I have also tried pm2 and nodemon, I get same error there as well. For pm2, I followed this issue https://github.com/Unitech/PM2/issues/1167, but it didn't work either. What am I doing wrong here?
I suggest to precompile your
es6
scripts intoes5
scripts and run the app with aforever start server.js
command whereserver.js
is a result of precompilation.If you're using react.js for an isomorphic app you also will be needed to precompile your scripts for browsers either (via
browserify
,webpack
and so on).So I see no profit to work with
es6
scripts via on demand compilation versus precompilation withgulp
or any other js building system.