Electron アプリで作業しようとしていますが、Chromium ブラウザー ウィンドウ内で実行されている別のスクリプトからモジュールを要求しようとすると問題が発生します。相対パスを指定するために何をしても、モジュールが見つからないという同じエラーが常に発生します。
私のプロジェクトは次のように設定されています:
index.html
scripts
controllers
controller.js
models
game.js
tests
spec
gameSpec.js
electron の起動時にデフォルトで表示されるページである私の index.html は、body タグの末尾に通常のスクリプトとして controller.js をロードします。
<script src="scripts/controllers/controller.js"></script>
controller.js の上部に次のコードがあります。
var Game = require("../models/game.js");
.... some other code .....
var game = new Game();
electron Chromium ウィンドウを起動すると、すぐに次の問題が発生します。
Uncaught Error: Cannot find module '../models/game.js'
私の仮定では、controller.js ファイルからインポートする game.js ファイルへの相対パスが必要ですが、どのような調整を行っても、常にそのエラーが発生します。tests フォルダーの下に仕様がすべて実行されており、次のような require を正常に使用しているため、単なる構文エラーではないと思います。
var Game = require("../../models/game.js");
describe("Game", function () { ... });
Chromium ブラウザーから実行したときに相対パスが必要とされる方法について、間違った仮定をしていますか? どんな助けでも大歓迎です!