我正在尝试使用 Electron 应用程序,并且在尝试从 Chromium 浏览器窗口中运行的另一个脚本中要求模块时遇到问题。无论我做什么来指定相对路径,我总是遇到关于无法找到模块的相同错误。
我的项目是这样设置的:
index.html
scripts
controllers
controller.js
models
game.js
tests
spec
gameSpec.js
我的 index.html 是 electron 启动时默认打开的页面,它将 controller.js 作为普通脚本加载到 body 标记的末尾。
<script src="scripts/controllers/controller.js"></script>
controller.js 在顶部有以下代码:
var Game = require("../models/game.js");
.... some other code .....
var game = new Game();
启动电子铬窗口后,我立即遇到了这个问题:
Uncaught Error: Cannot find module '../models/game.js'
我的假设是我需要一个从 controller.js 文件到它正在导入的 game.js 文件的相对路径,但无论我做什么样的调整,我总是会遇到这个错误。我认为这不仅仅是语法错误,因为我在测试文件夹下的规范都在运行并通过,它成功地使用了这样的要求:
var Game = require("../../models/game.js");
describe("Game", function () { ... });
我是否对从 Chromium 浏览器执行时需要相对路径的方式做出了错误的假设?任何帮助表示赞赏!