2016-10-15 3 views
0

У меня есть приложение, которое использует инструкции импорта ES6. Я пытаюсь развернуть его на ibm cloudfoundry. Журналы показывают, что он начинается с узла 6.8.0. Приложение жалуется:Поддержка синтаксиса модулей ES6 на IBM bluemix

Unexpected token import 

Я начал приложение на моем Windows 10 рабочий стол, с узлом 6.8.0, и она работает безупречно. Я побежал:

console.log(process.versions); 

Вот результат:

{ http_parser: '2.7.0', 
    node: '6.8.0', 
    v8: '5.1.281.84', 
    uv: '1.9.1', 
    zlib: '1.2.8', 
    ares: '1.10.1-DEV', 
    icu: '57.1', 
    modules: '48', 
    openssl: '1.0.2j' } 

Выход же на моей машине, где работает приложение и на сервере bluemix, где он не делает. Вот мой Package.json:

{ 
    "name": "bluemixtest", 
    "version": "0.0.0", 
    "main": "server/app.js", 
    "dependencies": { 
    }, 
    "devDependencies": { 
    }, 
    "engines": { 
    "node": "6.8.0" 
    }, 
    "scripts": { 
    "start": "node --harmony_modules server/app.js" 
    }, 
    "private": true 
} 

сервера/app.js:

'use strict'; 
import express from 'express'; 
import mongoose from 'mongoose'; 

ошибка при загрузке в журналах:

/home/vcap/app/server/app.js:7 
import express from 'express'; 
^^^^^^ 
SyntaxError: Unexpected token import 
    at Object.exports.runInThisContext (vm.js:76:16) 
    at Module._compile (module.js:542:28) 
    at Object.Module._extensions..js (module.js:579:10) 
    at Module.load (module.js:487:32) 
    at tryModuleLoad (module.js:446:12) 
    at Function.Module._load (module.js:438:3) 
    at Module.runMain (module.js:604:10) 
    at run (bootstrap_node.js:394:7) 
    at startup (bootstrap_node.js:149:9) 
    at bootstrap_node.js:509:3 
npm ERR! Linux 3.19.0-33-generic 
npm ERR! argv "/home/vcap/app/vendor/node/bin/node" "/home/vcap/app/vendor/node/bin/npm" "start" 
npm ERR! node v6.8.0 
npm ERR! npm v3.10.8 
npm ERR! code ELIFECYCLE 
npm ERR! [email protected] start: `node --harmony server/app.js` 
npm ERR! Exit status 1 
npm ERR! 
npm ERR! Failed at the [email protected] start script 'node --harmony server/app.js'. 
npm ERR! Make sure you have the latest version of node.js and npm installed. 
npm ERR! If you do, this is most likely a problem with the bluemixtest package, 
npm ERR! not with npm itself. 

ответ

2

Хотя стандарт ES6 определяет оператор импорта, не поддерживаемый узлом изначально (пока). "Import" ES6 for Node

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import

+0

Это мой код в сервере/index.js я прокомментировал, если заявление, которое могло бы быть виновником! // если (окр === «развитие» || окр === «тест ') { // Зарегистрировать Babel требуется крючок require (' babel-register '); //} –

+0

'// if (env === 'development' || env === 'test') { // Зарегистрировать Babel требуется hook require ('babel-register'); //} ' –

Смежные вопросы