在 Electron 中找不到本地模块(js 文件)

kit*_*rry 1 javascript node.js electron

我是 Electron 和 Node 的新手。我似乎无法require()从 Electron 中的另一个本地 .js 文件,我不明白这个问题。我认为我缺少的东西很简单,但我找不到。

这是我的文件结构:

/
package-lock.json
node_modules
main.js
package.json
game/
  ...
  test.js
  properties.js
assets/html/
  main_window.html
Run Code Online (Sandbox Code Playgroud)
  • main.js仅加载main_window.html到电子窗口中,其他不多。
  • test.js使用 .html 文件从内部引用<script src="../../game/test.js"></script>
  • 这是test.js

    const properties = require('./properties');
    ...
    
    Run Code Online (Sandbox Code Playgroud)
  • 作为回报,我在开发工具控制台中收到此错误:

    Uncaught Error: Cannot find module './properties'
    
    Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

当我node test.jsgame文件夹中使用命令时,文件被导入,一切正常。但是,当我切换到 Electron 并npm start从 root使用时,我认为我需要本地 .js 文件,方法是在其名称前放置一个点和一个正斜杠。尽管与文件位于同一文件夹中test.js,但它似乎无法找到properties.js.

还有package.json文件,以防万一可能需要:

{
  "name": "economy-board-game-electron",
  "version": "1.0.0",
  "description": "Recreation of that board game for educational purposes.",
  "main": "main.js",
  "scripts": {
    "start": "electron ."
  },
  "author": "Edvin Boul",
  "license": "MIT",
  "dependencies": {
    "electron": "^4.0.1"
  }
}
Run Code Online (Sandbox Code Playgroud)

Dan*_*alt 7

该路径可能是相对于 html 文件的,请尝试执行 ../../game/properties,如果可行,请考虑将您的主 html 入口点与您的游戏目录放在同一级别 –

Electron 不需要以任何特殊方式构建文件,但在组织上以这种方式进行推理可能更简单,因此您不必编写长的回溯路径。

这也是他们大多数示例的完成方式,他们尝试制作它,以便您几乎可以保留典型的网站结构。