簡體   English   中英

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

[英]Cannot find local module (js file) in Electron

我是Electron和Node的新手。 我似乎無法從Electron的另一個文件中獲取require()本地.js文件,而且我也不明白問題所在。 我認為我所缺少的是非常簡單的東西,但是我找不到。

這是我的文件結構:

/
package-lock.json
node_modules
main.js
package.json
game/
  ...
  test.js
  properties.js
assets/html/
  main_window.html
  • main.js只會將main_window.html加載到Electron窗口中,而不會加載其他內容。
  • 我使用<script src="../../game/test.js"></script>從html文件內部引用了test.js
  • 這是test.js

     const properties = require('./properties'); ... 
  • 作為回報,我在開發工具控制台中收到此錯誤:

     Uncaught Error: Cannot find module './properties' 

在此處輸入圖片說明

當我在game文件夾中使用node test.js命令時,文件將被導入,一切正常。 但是,當我切換到Electron並從根npm start使用npm start ,我想我需要在本地.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"
  }
}

該路徑可能是相對於html文件的路徑,請嘗試執行../../game/properties,如果可行,請考慮將您的主要html入口點與游戲目錄置於同一級別–

Electron不需要以任何特殊的方式來構造文件,但是從組織上來說,采用這種方式可能更容易推理,因此您不必編寫冗長的回溯路徑。

這也是他們大多數示例的完成方式,他們試圖做到這一點,以便您幾乎可以保留典型的網站結構。

我遇到了同樣的問題,大約一個小時前問了這個問題,只是得到了正確的答案(在評論中): 需要自定義模塊的問題

  • 從HTML中刪除引用test.js <script>標記。
  • 使用module.exports.Test = Test;導出兩個JS文件module.exports.Test = Test; module.exports.Properties = Properties; 這些說明必須在各自的文件中,並在末尾。 我假設您的類(或您要導出的任何類)被命名為TestProperties

  • 在HTML文件中的<script>標記之間需要./../../game/test (不確定路徑,但是您需要從HTML文件位置開始)

  • 需要./propertiestest.js

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM