импортировать неожиданное зарезервированное слово javascript (используя system.js, sammy.js и babel в качестве транспилятора ecmascript 6)

Я новичок в JS, и у меня есть некоторые проблемы с запуском тестового сервера (например: node app.js ..или iojs app.js) с новым синтаксисом ECMA6 (с использованием импорта и экспорта)... вот пример кода, который я Я пытаюсь добиться этого, и сервер возвращает ошибку:

    <script>
    System.config({
        baseURL:"/",
        transpiler: "babel",
        babelOptions: {
            "optional": [
                "runtime"
            ]
        },
        paths: {
            "npm:*": "node_modules/*",
            "bower:*": "bower_components/*"
        },
        map: {
            "babel": "npm:babel-core/browser.js",
            "sammy": "bower:sammy/lib/sammy.js",
            "jquery":"bower:jquery/dist/jquery.js",
            "handlebars": "bower:handlebars/handlebars.js"
        }
    });
</script>

<script type="text/javascript">
 System.import('app.js')
    .then(function(module) {
        module.init('#content');
    });
</script>

и в app.js следующий простой код:

import $ from 'jquery';
import sammy from 'sammy';

import homeController from './controllers/homeController.js';

export function init (element) {
var sammyApp = Sammy(element, function() {
    this.get('#/', homeController.load);
});

sammyApp.run('#/');
}

затем o получить следующий экран с ошибкой при попытке запустить тестовый сервер:

D:\TELERIK\JavaScript-Apps\exam-prepar-evlogi>iojs app.js
D:\TELERIK\JavaScript-Apps\exam-prepar-evlogi\app.js:1
(function (exports, require, module, __filename, __dirname) { import $ from 'j
                                                              ^^^^^^
SyntaxError: Unexpected reserved word
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:413:25)
at Object.Module._extensions..js (module.js:448:10)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Function.Module.runMain (module.js:471:10)
at startup (node.js:117:18)
at node.js:948:3

Любые советы о том, где моя вина, были бы замечательными. Заранее всем спасибо.


person Nick Iliev    schedule 08.09.2015    source источник
comment
Почему вы размещаете вещи в тегах <script> в html-файле, если хотите запустить серверный код? И да, вам придется транспилировать файл перед его выполнением с помощью node.   -  person Bergi    schedule 08.09.2015
comment
попробуйте поставить "use strict"; поверх вашего файла   -  person astronaut    schedule 07.11.2015
comment
Возможный дубликат неожиданного импорта зарезервированного слова в node.js   -  person Paul Sweatte    schedule 19.01.2017