XXとしてる
2019年3月23日土曜日
requireとimport
サーバーサイドとクライアントサイドでモジュールのインポート/エクスポートを異なる書き方をしていた。 サーバーサイドはrequireを、クライアント側はimportを使ってコーディングを行っていた。 まぁ、ちょうどどちらのサイドを書いているのか区別がつくからまぁいいかと思っていたところ、 サーバーサイドのコードをクライアントでも使いたい場面が出てきて、何も考えずサーバーサイドのコードなのでrequireでインポートしたところエラーが出てきた。 ```js import Hoge from './hoge' import Foo from '../Foo' // error!! const WantToUseModule = require('../server/module') ``` エラーが起きた場所はインポートしたいモジュールの中で、`"exports" is read-only`とエラーメッセージを表示していた。
割と困る
ブラウザ環境などクライアント側では一部でしかimport構文をサポートしていないため、このようなエラーが起きた。と思う。 ## サーバー側での対応 開発環境ではNodejsのバージョン10を使用しているため、完全ではないがES6のモジュール機能に対応している。 なので、サーバーサイドでもそれを使うことでエラーはなくなり、正常に動作した。
.
.
.
はじめから使っとけ!!
そのとおりです。何も言えないです。
(画像は以下のものを使用させていただきました。)
0 件のコメント:
コメントを投稿
次の投稿
前の投稿
ホーム
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿