質問: ### 前提・実現したいこと second.jsというファイルからnameをexportしてfirst.jsにimportして表示させようとしたところ、このようなエラーが発生しました。 nameの部分に何か問題があるのだろうと検討をつけているのですが、わからなくなってしまいました。 ちなみにfirst.jsとsecond.jsは同じdistというフォルダです。 ### 発生している問題・エラーメッセージ ``` node dist/first.js ``` ^ エラーメッセージ ``` (function (exports, require, module, __filename, __dirname) { import name from "./second"; ^^^^ SyntaxError: Unexpected identifier at new Script (vm.js:79:7) at createScript (vm.js:251:10) at Object.runInThisContext (vm.js:303:10) at Module._compile (internal/modules/cjs/loader.js:656:28) at Object.Module._extensions..js (internal/modules/cjs/loader.js:699:10) at Module.load (internal/modules/cjs/loader.js:598:32) at tryModuleLoad (internal/modules/cjs/loader.js:537:12) at Function.Module._load (internal/modules/cjs/loader.js:529:3) at Function.Module.runMain (internal/modules/cjs/loader.js:741:12) at startup (internal/bootstrap/node.js:285:19) ### 該当のソースコード ``` ここに言語名を入力 ソースコード ```JavaScriptES6 ### 試したこと nameの部分を少し変えてみたりしましたが、変わりませんでした。 ### 補足情報(FW/ツールのバージョンなど) ES6
回答: ``` (function (exports, require, module, __filename, __dirname) { import name from "./second"; ``` ES6の`import`文(非同期で行う`import()`でないほう)は、**トップレベルにしか書けません**。 手動で書いたのであれば書き方がおかしいですし、コンパイルしてこのようなコードが出来上がったのであれば、Babelあるいはバンドラーの設定が正しくないと思われます。