2017-11-28 15 views
0

のserver.jsにインポートします:私は、このようなserver.jsでこのようとしてインポートしようとするとどのように私はexpressjs

import SalaryService from '/components/utils/SalaryService'; 

し、このようにそれを使用したい:

const salaryService = new SalaryService(); 
res.send(salaryService.getSalaries('test')); 
私は私のdevのサーバーを起動しようとすると

は、しかし、私は、次のエラーメッセージが表示されます。

C:\projects\project\server.js:10 
    import SalaryService from '/components/utils/SalaryService'; 
    ^^^^^^ 
    SyntaxError: Unexpected token import 

どのように私はこれを達成できますか?

+0

あなたはTRにバベルまたはWebPACKのを使用する必要がありますあなたのコードをアンパイルするか、ノードを 'import 'のようなes6の機能を理解できるように実行してください。 –

答えて

1

Nodejsを使用したい場合はES6はあなたのコード

+0

他の構文は何でしょうか? require( '/ components/utils/SalaryService')? – user1009698

+0

@ user1009698はい、あなたは次のように書くことができます: 'const SalaryService = require( '/ components/utils/SalaryService')' – Farnabaz

1

を実行するためにbabelを使用することができます構文は「/コンポーネント/ utilsパッケージ/ SalaryService」にmodule.exportsは何に依存しているモジュールES6モジュールの構文
をサポートしていません。割り当てられた。それは多くの機能(またはネストされたオブジェクト)を持つオブジェクトの場合は、ファイルSalaryService.jsを意味するあなたがそうのような構造化代入を使用することができます「SalaryService」と呼ばれるプロパティを含むオブジェクトをエクスポートします。

const { SalaryService } = require('/components/utils/SalaryService'); 

あなたが選ぶことができるので、これはいいですきれいにラージオブジェクトからのいくつかのプロパティ:

const { SalaryService, SomeOtherProp } = require('/components/utils/SalaryService'); 

は、そうでない場合module.exportsははあなたが直接欲しい機能を割り当てまたはオブジェクトされている場合:

const SalaryService = require('/components/utils/SalaryService'); 
+0

hmm yaは、 "./..."を追加すると動作します。私のsalaryService iではSyntaxError:予期しないトークンのインポート。よりよい解決策があるのですか、または私はバーベルを使用する必要がありますか? – user1009698

+0

あなたは( '/ components/utils/SalaryService')と書かれていても、( '/ components/utils/SalaryService')は必要ないと言っていますか?ディレクトリ内のインポートを行っているファイルに 'components'フォルダ(相対)が含まれていますか? – ztech

+0

私はそれがうまくいくと言っています:require( './ components/utils/SalaryService')しかしSalaryServiceはものをインポートしてから再び認識しません – user1009698

関連する問題