🗒️

HTMLとNodejsの両対応のjsファイルのexportの書き方

2024/09/10に公開

jsファイル側でのexport

util.js
class Util {
  do() {}
}

// HTML用のエクスポート
if (typeof window !== "undefined" && window) {
  window.Util = Util
}
// Nodejs用のエクスポート
if (typeof module !== "undefined" && module.exports) {
  module.exports = Util
}

HTML側で読み込む場合

<!DOCTYPE html>
<html lang="ja">
  <head></head>
  <body>
    <!-- 通常のスクリプトとしてJavaScriptファイルを読み込む -->
    <script src="util.js"></script>
    <script>
      const u = new window.Util()
      u.do()
    </script>
  </body>
</html>

Nodejsで読み込む場合

const Util = require("util.js")
const u = new Util()
u.do()

Discussion